- N개의 카드를 구매하기 위해 지불해야 하는 금액의 최솟값을 구하는 문제다.
min
을 이용하면 된다.
import sys
input = sys.stdin.readline
N = int(input())
P_lst = [0] + list(map(int, input().strip().split()))
dp = [1e6] * 1001
dp[0] = 0
for i in range(N+1):
for j in range(i+1):
dp[i] = min(dp[i], dp[i-j] + P_lst[j])
print(dp[N])