퇴사

bird.j·2022년 8월 9일
0

삼성 코테

목록 보기
2/4

백준 14501


dp는 역시 어려워..

n = int(input())
tplist = [list(map(int, input().split())) for _ in range(n)] # t는 걸리는 시간, p는 가격
dp = [0 for _ in range(n+1)]


for i in range(n-1, -1, -1): 
    if i + tplist[i][0] > n:
        dp[i] = dp[i+1]
    else:
        dp[i] = max(dp[i+1], tplist[i][1] + dp[i+tplist[i][0]])

print(dp[0])

마지막 날부터 생각해준다.

현재 일자 + 걸리는 날이 일할 수 있는 날 초과이면 상담하지 않고,
해당 일자에 상담을 할 지 말 지 --> max값을 저장한다.

알고나면 참 쉬운데 말야...

0개의 댓글