Submission #39059217
Source Code Expand
n, w = map(int, input().split())
h = [0]
v = [0]
for _ in range(n):
s, t = map(int, input().split())
h.append(s)
v.append(t)
dp = [[0 for _ in range(w + 1)] for _ in range(n + 1)]
for i in range(1, n + 1):
for j in range(w + 1):
if j < h[i]:
dp[i][j] = dp[i - 1][j]
else:
p = dp[i - 1][j]
q = dp[i - 1][j - h[i]] + v[i]
dp[i][j] = max(p, q)
ans = 0
for i in range(w + 1):
ans = max(ans, dp[n][i])
print(ans)
Submission Info
| Submission Time | |
|---|---|
| Task | D - Knapsack 1 |
| User | harry_arbrebleu |
| Language | PyPy3 (7.3.0) |
| Score | 100 |
| Code Size | 514 Byte |
| Status | AC |
| Exec Time | 473 ms |
| Memory | 217912 KiB |
Judge Result
| Set Name | All | ||
|---|---|---|---|
| Score / Max Score | 100 / 100 | ||
| Status |
|
| Set Name | Test Cases |
|---|---|
| All | 0_00, 0_01, 0_02, 1_00, 1_01, 1_02, 1_03, 1_04, 1_05, 1_06, 1_07, 1_08, 1_09 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 0_00 | AC | 67 ms | 62060 KiB |
| 0_01 | AC | 46 ms | 62040 KiB |
| 0_02 | AC | 47 ms | 62012 KiB |
| 1_00 | AC | 63 ms | 79360 KiB |
| 1_01 | AC | 463 ms | 217912 KiB |
| 1_02 | AC | 444 ms | 216116 KiB |
| 1_03 | AC | 462 ms | 217136 KiB |
| 1_04 | AC | 465 ms | 216908 KiB |
| 1_05 | AC | 458 ms | 217824 KiB |
| 1_06 | AC | 466 ms | 217828 KiB |
| 1_07 | AC | 456 ms | 217732 KiB |
| 1_08 | AC | 473 ms | 217436 KiB |
| 1_09 | AC | 445 ms | 217832 KiB |