Pagini recente » Cod sursa (job #1646633) | Cod sursa (job #1867477) | Cod sursa (job #1191698) | Cod sursa (job #200388) | Cod sursa (job #1680242)
program ruksak;
var fi, fo : text;
i, j, g, max, n : longint;
w, p : array[1..3000] of integer;
op : array[0..3000] of integer;
begin
assign(fi, 'rucsac.in');
reset(fi);
readln(fi, n, g);
for i:=1 to n do readln(fi, w[i], p[i]);
close(fi);
op[0]:=0;
max:=0;
for i:=1 to n do
for j:=g downto w[i] do
if op[j-w[i]]+p[i]>op[j] then begin
op[j]:=op[j-w[i]]+p[i];
if op[j]>max then max:=op[j];
end;
assign(fo, 'rucsac.out');
rewrite(fo);
write(fo, max);
close(fo);
end.