p. 377
n=int(input())
t=[]
p=[]
dp=[0]*(n+1)
max_value=0
for i in range(n):
_t,_p=map(int, input().split())
t.append(_t)
p.append(_p)
for i in range(n-1,-1,-1):
day=i+t[i]
if day<=n:
dp[i]=max(max_value, p[i]+dp[day])
max_value=dp[i]
else:
dp[i]=max_value
print(max_value)
'코딩 테스트 > 다이나믹 프로그래밍' 카테고리의 다른 글
못생긴 수 (0) | 2021.02.22 |
---|---|
병사 배치하기 (0) | 2021.02.22 |
정수 삼각형 (0) | 2021.02.22 |
금광 (0) | 2021.02.22 |
효율적인 화폐 구성 (0) | 2021.02.21 |
댓글