[ 2023-07-13 ๐ŸŒ  TIL ]

Burkeyยท2023๋…„ 7์›” 13์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
118/157

๋ฐฑ์ค€ 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๋ฌธ์ œ๋Š” ์—ญ์‹œ ์–ด๋ ต๋‹ค. ๊ณต๋ถ€๊ฐ€ ํ•„์š”ํ•˜๋‹ค ๋Š๊ปด์กŒ๋‹ค..

profile
์Šคํƒฏ ์˜ฌ๋ฆฌ๋Š” ์ค‘

0๊ฐœ์˜ ๋Œ“๊ธ€