Algorithm(BOJ, Python)/Dynamic Programing
[백준_15486] 퇴사2 python
kurooru
2022. 7. 10. 15:03
퇴사1과 뭐가 다른건지 잘 모르겠다.
수학책 풀고 수학익임책 푼 듯한 느낌,,?
# n 입력
n = int(input())
# T, P 설정
T, P = [], []
# t, p 입력
for _ in range(n):
t, p = map(int, input().split())
T.append(t)
P.append(p)
# dp 설정
dp = [
0 for _ in range(n+1)
]
# dp 초기설정
dp[n] = 0
# dp 채우기
for i in range(n-1, -1, -1):
if i + T[i] > n:
dp[i] = dp[i+1]
else:
dp[i] = max(dp[i+1], dp[i+T[i]] + P[i])
# 출력
print(dp[0])