728x90
반응형
기본적인 다이나믹 프로그래밍 문제이다. 자기 앞에 자기보다 작은 수가 없는 경우도 있는데,
이 부분만 주의하면 쉽게 풀 수 있다.
from copy import deepcopy
N = int(input())
li = list(map(int, input().split()))
dp = deepcopy(li)
for i in range(1, N):
for j in range(i):
if li[j] < li[i]:
dp[i] = max(dp[i], li[i]+dp[j])
print(max(dp))
728x90
반응형
'Agorithm > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 2491번 수열(python) (1) | 2021.03.21 |
---|---|
백준 알고리즘 1120번 문자열(python) (0) | 2021.03.21 |
백준 알고리즘 11722번 가장 긴 감소하는 부분 수열(python) (0) | 2021.03.21 |
백준 알고리즘 5940번 Math Practice(python) (0) | 2021.03.21 |
백준 알고리즘 9465번 스티커(python) (0) | 2021.03.21 |