Cod sursa(job #1688925)

Utilizator marius.onescuMarius marius.onescu Data 13 aprilie 2016 20:04:51
Problema Problema rucsacului Scor 10
Compilator fpc Status done
Runda Arhiva educationala Marime 0.61 kb
program ruksak;
var
    i, j, g, max, n : longint;
    w, p : array[1..5000] of integer;
    m : array[0..10000] of integer;
    f : text;
begin
  assign(f, 'rucsac.in');
  reset(f);
  read(f, n, g);
  for i:=1 to n do readln(f, w[i], p[i]);  close(f);
  m[0]:=0; max:=0;
  for i:=1 to n do
   for j:=g-w[i] downto 0 do
     if m[j+w[i]]<m[j]+p[i] then begin
                                   m[j+w[i]]:=p[i]+m[j];
                                   if m[j+w[i]]>max then max:=m[j+w[i]];
                                   end;
  assign(f, 'rucsac.out');
  rewrite(f);
  write(f, max);  close(f);
end.