Pagini recente » Monitorul de evaluare | Cod sursa (job #1246039) | Cod sursa (job #2201067) | Cod sursa (job #1409711) | Cod sursa (job #1707788)
Program P1;
var a:array[0..10010] of longint;
b:array[0..10010] of longint;
c:array[0..10010] of longint;
i,n,g,x,m,j:longint;
fi,fo:text;
begin
assign(fi,'rucsac.in'); reset(fi);
assign(fo,'rucsac.out'); rewrite(fo);
read(fi,n);
read(fi,g);
for i:=1 to n do begin
read(fi,a[i]);
read(fi,c[i]);
end;
b[0]:=0;
m:=0;
for i:=1 to n do begin
for j:=g downto a[i] do begin
if b[j-a[i]]+c[i]>b[j] then b[j]:=b[j-a[i]]+c[i];
if b[j]>m then m:=b[g];
end;
end;
write(fo,m);
close(fo);
end.