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
AC × 13
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