Pagini recente » Cod sursa (job #667457) | Cod sursa (job #1580756) | Cod sursa (job #915112) | Cod sursa (job #2549203) | Cod sursa (job #1688925)
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-w[i] downto 0 do
if m[j+w[i]]<m[j]+p[i] then begin
m[j+w[i]]:=p[i]+m[j];
if m[j+w[i]]>max then max:=m[j+w[i]];
end;
assign(f, 'rucsac.out');
rewrite(f);
write(f, max); close(f);
end.