Pagini recente » Diferente pentru utilizator/fluffy intre reviziile 7 si 6 | Diferente pentru utilizator/pauldb intre reviziile 64 si 123 | Diferente pentru utilizator/raduzer intre reviziile 40 si 41 | Diferente pentru problema/pinball intre reviziile 6 si 5 | Cod sursa (job #1889472)
type rucsac=record
w,p:longint;
end;
tablou=array [1..5010]of rucsac;
var a:tablou;
i,j,k,m,n,weight:longint;
rez,aux:array [-1..10010]of int64;
f,g:text;
begin
assign(f,'rucsac.in');
assign(g,'rucsac.out');
reset(f);
rewrite(g);
read(f,n,weight);
for i:=1 to n do
read(f,a[i].w,a[i].p);
for i:=1 to n do
begin
for j:=weight downto a[i].w do
if rez[j]<rez[j-a[i].w]+a[i].p then rez[j]:=rez[j-a[i].w]+a[i].p;
end;
write(g,rez[weight]);
close(f);
close(g);
end.