Pagini recente » Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #1511276) | Monitorul de evaluare | Cod sursa (job #1688894)
program ruksak;
var
i, j, g, max, n : longint;
w, p : array[1..5000] of integer;
m : array[0..10000] of integer;
f : text;
begin
assign(f, 'rucsac.in');
reset(f);
read(f, n, g);
for i:=1 to n do readln(f, w[i], p[i]); close(f);
m[0]:=0; max:=0;
for i:=1 to n do
for j:=g downto w[i] do
if m[j-w[i]]+p[i]>m[j] then begin
m[j]:=m[j-w[i]]+p[i];
if m[j]>max then max:=m[j];
end;
assign(f, 'rucsac.out');
rewrite(f);
write(f, max); close(f);
end.