728x90
https://www.acmicpc.net/problem/14501
14501๋ฒ: ํด์ฌ
์ฒซ์งธ ์ค์ ๋ฐฑ์ค์ด๊ฐ ์ป์ ์ ์๋ ์ต๋ ์ด์ต์ ์ถ๋ ฅํ๋ค.
www.acmicpc.net
dp ๋ฌธ์ !
ํฌ๊ธฐ๊ฐ n์ธ dp ํ ์ด๋ธ์ ๋ง๋ค๊ณ 0์ผ๋ก ์ด๊ธฐํํ๋ค.
x์ผ์ฐจ์ ์๋ด์ ํ์ ๊ฒฝ์ฐ ๊ทธ ๊ธฐ๊ฐ๋์์ ๋์ ์์ต์ด ์ปค์ง ๊ฒฝ์ฐ์๋ง dpํ ์ด๋ธ ๊ฐ์ ์ฆ๊ฐ์์ผ์ค๋ค.
import sys
input = sys.stdin.readline
n = int(input())
time = [0]*n
price = [0]*n
for i in range(n):
t, p = map(int,input().split())
time[i] = t
price[i] = p
dp = [0]*(n+1)
for i in range(n):
j = i + time[i]
while j <= n:
dp[j] = max(dp[j], price[i]+dp[i])
j += 1
print(dp[n])
728x90
'์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด > DP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ฉ๋ฆฌ ๋ฐ๊ธฐ (0) | 2023.05.31 |
---|---|
[๋ฐฑ์ค]1149๋ฒ: RGB๊ฑฐ๋ฆฌ (0) | 2023.05.27 |
[๋ฐฑ์ค]1932๋ฒ: ์ ์ ์ผ๊ฐํ (0) | 2023.03.11 |
[๋ฐฑ์ค]2579๋ฒ: ๊ณ๋จ ์ค๋ฅด๊ธฐ (0) | 2023.02.28 |
[๋ฐฑ์ค]11053๋ฒ: ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด / 11722๋ฒ: ๊ฐ์ฅ ๊ธด ๊ฐ์ํ๋ ๋ถ๋ถ ์์ด (0) | 2023.02.26 |