https://www.acmicpc.net/problem/11055
import sys
n = int(sys.stdin.readline())
arrs = list(map(int, sys.stdin.readline().split()))
dp = [0]*n
for i in range(n):
dp[i] = arrs[i]
for j in range(i):
if arrs[j] < arrs[i]:
dp[i] = max(dp[j] + arrs[i], dp[i])
print(max(dp))
동적 계획법은 실버도 어려운 것 같다. 수학적 지식이 좀 필요한 영역 같음 ㅠ