백준 - DP (# 11052)

Eon·2020년 10월 13일
0

Algorithm

목록 보기
27/70

https://www.acmicpc.net/problem/11052


Code

n = int(input())
p = [0]
p += [int(x) for x in input().split()]
dp = [0] *(n+1)
dp[1] = p[1]
dp[2] = max(p[2], p[1]*2)

for i in range(3,n+1):
    dp[i] = p[i]
    for j in range(1, i//2 + 1):
        if dp[i] < dp[j]+ dp[i-j]:
            dp[i] = dp[j]+ dp[i-j]

print(dp[n])

참고
한정된 자원으로 뽑기해서 최댓값 만들기 문제.
dp[n] 에서 n은 사용한 자원.

profile
👨🏻‍💻 🏃🏻‍♂️ 🎶

0개의 댓글