728x90
반응형
# 틀린 코드
n = int(input())
data = list(map(int,input().split()))
dp = [ 0 for _ in range(n)]
dp[0] = data[0]
for i in range(n):
max_sum = 0
for j in range(0,i):
if max_sum < dp[j] and data[i]> data[j]:
max_sum += data[j]
dp[i] = max_sum + data[i]
print( max(dp))
# 정답
n = int(input())
data = list(map(int,input().split()))
dp = [ x for x in data]
for i in range(n):
for j in range(i):
if data[i] > data[j]:
dp[i] = max(dp[i], dp[j]+data[i])
print( max(dp))
간단하게 생각하는 연습하기...
728x90
반응형
'백준 > 다이나믹 프로그래밍' 카테고리의 다른 글
# 2688 줄어들지 않아 (0) | 2020.09.14 |
---|---|
# 9656 돌 게임 2 (0) | 2020.09.14 |
# 1699 제곱수의 합 - (0) | 2020.09.13 |
# 2293 동전 1 (0) | 2020.09.13 |
# 11057 오르막 수 (0) | 2020.09.13 |