이번 문제는 문제를 이해하는데에 시간이 조금 걸렸던 문제였다. 간단하게 해석하면 주어진 수열에서 사이사이에 원하는 수를 뺄 수 있고 원하는대로 뺀 뒤에 남은 증가 부분 수열 중에서 합이 가장 큰 것을 출력하는 문제이다.
n = int(input())
arr = list(map(int, input().split()))
dp = [x for x in arr]
for i in range(n):
for j in range(i):
if arr[i] > arr[j]:
dp[i] = max(dp[i], dp[j]+arr[i])
answer = max(dp)
print(answer)