728x90
https://www.acmicpc.net/problem/15486
정답 코드
import sys
input = sys.stdin.readline
N = int(input())
dp = [0] * (N + 1)
T = [0] * (N + 1)
P = [0] * (N + 1)
for i in range(N):
t, p = map(int, input().split(" "))
T[i + 1] = t
P[i + 1] = p
for i in range(1, N + 1):
dp[i] = max(dp[i], dp[i - 1])
complete = i + T[i] - 1
if complete <= N:
dp[complete] = max(dp[complete], dp[i - 1] + P[i])
print(max(dp))
728x90
'Study > Coding Test' 카테고리의 다른 글
[프로그래머스] 게임 맵 최단거리 Python, C++ (0) | 2023.07.31 |
---|---|
[프로그래머스] 네트워크 Python, C++ (0) | 2023.07.31 |
[백준] 2295 - 세 수의 합 Python (0) | 2023.07.04 |
[백준] 14940 - 쉬운 최단거리 Python (0) | 2023.07.04 |
[백준] 1940 - 연속합 Python (0) | 2023.06.29 |