Cod sursa(job #1089807)

Utilizator mariusadamMarius Adam mariusadam Data 21 ianuarie 2014 22:37:38
Problema Problema rucsacului Scor 80
Compilator fpc Status done
Runda Arhiva educationala Marime 0.73 kb
program rucsac_infoarena;
const fi='rucsac.in'; fo='rucsac.out';
type ob=record
 g,p:longint;
end;
var cs:array[0..1,0..10000] of longint;
    v:array[1..5000] of ob;
    n,j,i,t:longint;
    s,gmax:Qword;
begin
 assign(input,fi); reset(input);
 assign(output,fo); rewrite(output);
 readln(input,n,gmax);
 for i:=1 to n do
  begin
   readln(input,v[i].g,v[i].p);
   s:=s+v[i].g;
  end;
 if gmax>s then
  gmax:=s+1;
 t:=0;
 for i:=1 to n do
  begin
   for j:=1 to gmax do
    begin
      cs[1-t,j]:=cs[t,j];
     if (j>=v[i].g) then
      if (cs[1-t,j]<cs[t,j-v[i].g]+v[i].p) then
       cs[1-t,j]:=cs[t,j-v[i].g]+v[i].p
    end;
   t:=1-t;
  end;
 writeln(output,cs[t,gmax]);
 close(input);
 close(output);
end.