https://www.acmicpc.net/problem/17216
n = int(input())
arr = list(map(int, input().split()))
dp = [0 for _ in range(n)]
dp[0] = arr[0]
# arr = 9 2 1 100 22
# dp = 9 11 12 100 122
for i in range(1, n):
dp[i] =arr[i]
cnt = 0
for j in range(i-1 , -1,-1):
if arr[i] < arr[j] :
cnt += 1
dp[i] = max(dp[j] + arr[i],dp[i])
print(max(dp))
'알고리즘 문제풀이' 카테고리의 다른 글
가장 긴 짝수 연속한 부분 수열 (small) [백준 22857] (0) | 2025.01.18 |
---|---|
회의실 배정3[백준 19622] (0) | 2025.01.17 |
회의실 배정2 [백준 19621] (0) | 2025.01.16 |
찐 Even Number [백준 32981] (0) | 2025.01.12 |
도시와 비트코인[백준 31575] (0) | 2025.01.12 |