Cod sursa(job #2535386)
| Utilizator | Data | 31 ianuarie 2020 20:19:20 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 25 |
| Compilator | py | Status | done |
| Runda | Arhiva educationala | Marime | 0.51 kb |
f=open("rucsac.in","r")
g=open("rucsac.out","w")
sir=f.readline()
n=int(sir.split()[0])
gmax=int(sir.split()[1])
lista=[]
for i in range(n):
sir=f.readline()
lista.append((int(sir.split()[0]),int(sir.split()[1])))
op=[0]*(gmax+1)
sol=0
for i in range(n):
j=gmax-lista[i][0]
while j>=0:
if op[j+lista[i][0]]<op[j]+lista[i][1]:
op[j+lista[i][0]]=op[j]+lista[i][1]
if op[j+lista[i][0]]>sol:
sol=op[j+lista[i][0]]
j-=1
g.write(str(sol))
