Cod sursa(job #2628196)

Utilizator StasBrega Stanislav Stas Data 14 iunie 2020 21:04:51
Problema Problema rucsacului Scor 35
Compilator py Status done
Runda Arhiva educationala Marime 0.44 kb
with open("rucsac.in", "r") as f, open("rucsac.out", "w") as g:
    n, G = (int(i) for i in next(f).split())
    a, W, P = [0] * (G + 1), [0] * (G + 1), [0] * (n + 1)
    for i in range(1, n + 1):
        W[i], P[i] = (int(j) for j in next(f).split())
    for i in range(1, n + 1):
        w, p = W[i], P[i]
        for j in range(G, w - 1, -1):
            if a[j - w] + p > a[j]:
                a[j] = a[j - w] + p
    g.write(str(a[G]))