2022/BaekJoon_삼성 SW 역량 테스트 기출
14501 - 퇴사*
찌든짐니
2022. 5. 3. 13:56
N = int(input())
T = []
P = []
dp = []
for _ in range(N):
t, p = map(int, input().split())
T.append(t)
P.append(p)
dp.append(p)
dp.append(0)
# N=7이면, 6,5,4,3,2,1,0
for i in range(N-1,-1,-1):
if (T[i]-1)+(i+1) > N:
# 아무것도 하지 않고, 이전 값(dp[i+1]) 그대로 가져옴
dp[i] = dp[i+1]
else:
# 기존 상담 스케쥴(dp[i+1])과 현재 상담을 새로 가져온 스케쥴(P[i] + dp[i+T[i]]) 중에서 큰 값
dp[i] = max(dp[i+1], P[i] + dp[i + T[i]])
print(dp[0])