import sys
input = sys.stdin.readline
n=int(input())
t,p=[],[]
mx=0
dp=[0]*(n+1)
for i in range(n):
a,b=map(int,input().split())
t.append(a)
p.append(b)
for i in range(n-1,-1,-1):#뒤쪽부터 접근
day=t[i]+i#현재 날짜에 해당하는 소요기간+현재 날짜
if day<=n:#상담이 퇴사 전 기간 안에 끝나면
dp[i]=max(p[i]+dp[day],mx)
mx=dp[i]
else:
dp[i]=mx
print(mx)
접근 방법
max(p[i]+dp[t[i]+i],mx)