practivceAlgorithm/백준
[백준][Python] 14501 퇴사
findTheValue
2021. 8. 3. 23:43
매번 dp로 풀엇지만 브루트포스로도 풀린다고 한다. 처음부터 더해서 최댓값갱신. 다음 기회에는 풀어보는걸로,
import sys
input = sys.stdin.readline
N = int(input())
T = []
P = []
dp = []
for i in range(N):
a, b = map(int, input().split())
T.append(a)
P.append(b)
dp.append(b)
dp.append(0)
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], P[i] + dp[i + T[i]])
print(dp[0])