11052_카드 구매하기
풀이
d[n] : n장 뽑는 금액 최댓값
p[n] : n장 카드팩 가격
ㅡㅡㅡ p d
d[1] = 1 0
d[2] = 1 1
ㅡㅡㅡ2 0
d[3] = 1 2
ㅡㅡㅡ2 1
ㅡㅡㅡ3 0
d[4] = 1 3
ㅡㅡㅡ2 2
ㅡㅡㅡ3 1
ㅡㅡㅡ4 0 중에서 최대
'''
d[1] = p1
d[2] = p2, p1+d[1]
d[3] = p3, p2+d[1], p1+d[2]
d[4] = p4, p3+d[1], p2+d[2], p1+d[3]
'''
n = int(input())
p = [0] + list(map(int, input().split()))
d = [0] * (n+1)
for i in range(1, n+1):
for j in range(1, i+1):
if d[i] < p[j] + d[i-j]:
d[i] = p[j] + d[i-j]
print(d[n])
Author And Source
이 문제에 관하여(11052_카드 구매하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ykwon3357/11052카드-구매하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)