Pagini recente » Cod sursa (job #163439) | Cod sursa (job #3237815) | Cod sursa (job #356173) | Cod sursa (job #1407478) | Cod sursa (job #609089)
Cod sursa(job #609089)
Program probleama_rucsacului;
var w,p:array [0..5000] of integer;
sol: array [0..1,0..10000] of longint;
i,j,n,g,k:integer;
b1:array [1..1 shl 15] of char;
fi,fo:text;
function max(a,b:longint):longint;
begin
if a>b then max:=a
else max:=b;
end;
begin
assign(fi,'rucsac.in');
assign(fo,'rucsac.out');
settextbuf(fi,b1);
reset(fi);
rewrite(fo);
readln(fi,n,g);
for i:=1 to n do readln(fi,w[i],p[i]);
{______________________________________}
i:=1;
repeat
inc(k);
for j:=0 to g do
if w[k]<=j then
sol[i,j]:=max(sol[i-1,j],sol[i-1,j-w[k]]+p[k])
else sol[i,j]:=sol[i-1,j];
sol[0]:=sol[1];
until k=n;
write(fo,sol[0,g]);
close(fo);
end.