Cod sursa(job #3355683)
| Utilizator | Data | 24 mai 2026 21:02:17 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 0 |
| Compilator | py | Status | done |
| Runda | Arhiva educationala | Marime | 0.56 kb |
def rucsac():
with open("rucsac.in", "r") as f:
N, G = map(int, f.readline().split())
objects = []
dp = [0] * (G + 1) # profitul maxim obtinut din porduse cu greutatea j
for _ in range(N):
w, p = map(int, f.readline().split())
objects.append((w, p))
for w, p in objects:
for j in range(G, w - 1, -1):
dp[j] = max(dp[j], dp[j-w] + p)
pmax = dp[G]
with open("rucsac.out", "w") as f:
f.write(str(pmax) + "\n")
rucsac()
