๋ฐฑ์ค 14501๋ฒ ํ์ด์ฌ
import sys
input = sys.stdin.readline
n = int(input())
works = []
ach = 0
for i in range(n):
w = list(map(int, input().split()))
works.append(w)
dp_work = [0 for _ in range(n+1)]
for i in range(n-1, -1, -1):
day, pay = works[i][0], works[i][1]
if (day + i) > n : # ๋๋์ ๋๊ฐ ํด์ฌ๋ ์ง๋ฌ์ ๋
dp_work[i] = dp_work[i+1]
# ์ด์ ์ ์๋น ๊ฐ์ ธ์ค๊ฐ
else:
dp_work[i] = max(dp_work[i+1], dp_work[day + i] + pay)
# ์ด์ ์ ์๋น๊ณผ (ํ์ฌ ์๋น๊ณผ ๋๋ฌ์ ๋ ๋ฐ๋ ์๋น์ ๋ํ์ ๋ ) ๋น๊ต
print(dp_work[0])
dp๋ฌธ์ ๋ ์ญ์ ์ด๋ ต๋ค. ๊ณต๋ถ๊ฐ ํ์ํ๋ค ๋๊ปด์ก๋ค..