Cod sursa(job #1199572)
Utilizator | Reality cojocarugabi | Data | 19 iunie 2014 17:32:05 |
---|---|---|---|
Problema | Problema rucsacului | Scor | 65 |
Compilator | fpc | Status | done |
Runda | Arhiva educationala | Marime | 0.87 kb |
var m:array[0..1,0..10000] of longint;
x,y:array[1..5000] of longint;
b1:array [1..1 shl 12] of char;
i,j,k,l,a,b,au: integer;
fi,fo: text;
function max(x,y:longint):longint;
begin
if x>=y then max:=x else max:=y;
end;
begin
assign(fi,'rucsac.in');
reset(fi);
assign(fo,'rucsac.out');
rewrite(fo);
readln(fi,k,l);
a:=0;b:=1;
for i:=1 to k do begin
readln(fi,x[i],y[i]);
for j:=1 to l do
if (j-x[i])>=0 then
m[b,j]:=max(m[a,j],m[a,j-x[i]]+y[i])
else
m[b,j]:=m[a,j];
au:=a;
a:=b;
b:=au;
end;
close(fi);
writeln(fo,m[a,l]);
close(fo);
end.