본문 바로가기
코딩 테스트/다이나믹 프로그래밍

퇴사

by hazel_ 2021. 2. 22.

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

댓글