Cod sursa(job #1096007)

Utilizator Vasile_Catananoname Vasile_Catana Data 1 februarie 2014 13:45:24
Problema Problema rucsacului Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.56 kb
program p1;
var A:array[0..5000,0..5000] of longint;
    w,p:array[0..5000] of integer;
    f,g:text;
    n,i,g1,j:longint;
function max(o1,o2:longint):longint;
begin
if o1>o2 then max:=o1
        ELSE max:=o2;
end;
begin
assign(f,'rucsac.in');reset(F);
assign(g,'rucsac.out');rewrite(G);
readln(f,n,g1);
for i:=1 to n do readln(f,w[i],p[i]);
for i:=1 to n do
        for j:=0 to g1 do
                if p[i]<=j then a[i,j]:= max(a[i-1,j],a[i-1,j-p[i]]+w[i])
                        else a[i,j]:=a[i-1,j];
writeln(g,a[n,g1]);
close(F);
close(G);
end.