Pagini recente » Cod sursa (job #741172) | Cod sursa (job #993089) | Monitorul de evaluare | Cod sursa (job #745024) | Cod sursa (job #2151041)
Program ProbDisRuc;
type natural = word;
tab = array[natural] of longint;
var we,p:tab;
b:array[natural] of longint;
i,j,n,w,s:longint;
f,g:text;
begin
assign(f,'rucsac.in');
assign(g,'rucsac.out');
reset(f);
rewrite(g);
readln(f,n,w);
for i:=1 to n do
b[i]:=0;
for i:=1 to n do
readln(f,we[i],p[i]);
for i:=1 to n do begin
for j:=w downto we[i] do
if b[j]<b[j-we[i]]+p[i] then
b[j]:=b[j-we[i]]+p[i]
end;
writeln(g,b[w]);
close(f);
close(g);
end.