Cod sursa(job #1567886)

Utilizator mirelabocsabocsa mirela mirelabocsa Data 13 ianuarie 2016 20:03:59
Problema Problema rucsacului Scor 80
Compilator fpc Status done
Runda Arhiva educationala Marime 0.85 kb
program mire;
type vec=record
     gr,p:longint;
   end;
var f,g:text;
    n,gre,max:longint;
      v:array[0..5000] of vec;
      pre,suc:array[-1..100001] of longint;
procedure citire;
var i:longint;
begin
  assign(f,'rucsac.in'); reset(f);
  assign(g,'rucsac.out'); rewrite(g);
     readln(f,n,gre);
      for i:=1 to n do
         read(f,v[i].gr,v[i].p);
  close(f);
end;
procedure dinamica;
var i,j:longint;
begin
max:=0;
  for i:=1 to n do
    begin
      for j:=1 to gre do
      begin
         if v[i].gr<=j then
           if v[i].p+pre[j-v[i].gr]>pre[j] then
                suc[j]:=v[i].p+pre[j-v[i].gr]
              else
                suc[j]:=pre[j];
             if suc[j]>max then
               max:=suc[j];
     end;
     pre:=suc;
    end;
  writeln(g,max);
  close(g);
end;
begin
  citire;
  dinamica;
end.