알고리즘/백준

백준 12865: 평범한 배낭 (Python)

sssbin 2022. 4. 11. 14:00

 

https://www.acmicpc.net/problem/12865

 

12865번: 평범한 배낭

첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000)

www.acmicpc.net

 

n, k = map(int, input().split())
d = [[0 for _ in range(k+1)] for _ in range(n)]

for i in range(n):
    w, v = map(int, input().split())
    for j in range(1, k+1):
        if j < w:
            d[i][j] = d[i-1][j]
        else:
            d[i][j] = max(v + d[i-1][j-w], d[i-1][j])

print(max(d[n-1]))

 

정리할 자신이 없어서 그냥 스케치하던 거 올림 ㅠ