Skip to content

Commit ebe56c2

Browse files
committed
AC(3840ms): #knapsack #dp(bottom-up) O(NK)
1 parent 6a587a4 commit ebe56c2

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# 평범한 배낭
2+
3+
import sys
4+
5+
6+
N, K = map(int, sys.stdin.readline().split())
7+
W = [0] * N
8+
V = [0] * N
9+
for i in range(N):
10+
W[i], V[i] = map(int, sys.stdin.readline().split())
11+
12+
13+
# dp[k]는 i번째 iteration에서 i번째 물품까지 살펴 보았을 때 기준
14+
# k의 용량으로 얻을 수 있는 최대 가치.
15+
dp = [0] * (K+1)
16+
for i in range(N):
17+
for k in range(K, W[i]-1, -1):
18+
dp[k] = max(
19+
dp[k],
20+
dp[k-W[i]] + V[i],
21+
)
22+
23+
24+
print(dp[K])

0 commit comments

Comments
 (0)