[백준] 퇴사 14501번
다이나믹프로그래밍 활용!
파이썬
import sys
input = sys.stdin.readline
n = int(input())
s = [list(map(int,input().split())) for _ in range(n)]
dp = [0] * (n+1)
for i in range(n-1,-1,-1):
if s[i][0] + i > n:
dp[i] = dp[i+1]
else:
dp[i] = max(dp[i+1], s[i][1]+dp[i+s[i][0]])
print(dp[0])
댓글남기기