728x90
반응형
n = int(input())  # 사려는 카드의 개수 
data = [0]+list(map(int,input().split()))

# n 개를 사기 위해 가장 돈을 많이 내는 경우의 수.. 

dp = [0]*(n+1) 

dp[1] = data[1]

for i in range(2,n+1):
  for j in range(1,i+1):
    if dp[i] < dp[i-j] + data[j]:
      dp[i] = dp[i-j]+ data[j]
print(dp[n])
728x90
반응형

'백준 > 다이나믹 프로그래밍' 카테고리의 다른 글

# 11057 오르막 수  (0) 2020.09.13
# 1010 다리 놓기  (0) 2020.09.13
# 14501 퇴사  (0) 2020.09.13
# 9461 파도반 수열  (0) 2020.09.12
# 11727 타일링 2  (0) 2020.09.12

+ Recent posts