Cod sursa(job #1199282)

Utilizator cojocarugabiReality cojocarugabi Data 18 iunie 2014 19:02:22
Problema Problema rucsacului Scor 50
Compilator fpc Status done
Runda Arhiva educationala Marime 0.81 kb
var m:array[0..5000,0..10000] of longint;
  x,y:array[1..5000]          of longint;
  i,j:                           longint;
  k,l:                           longint;
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);
       for i:=1 to k do
            readln(fi,x[i],y[i]);
       for i:=1 to l do m[0,i]:=0;
       for i:=1 to k do
         for j:=1 to l do
           if (j-x[i])>=0 then
              m[i,j]:=max(m[i-1,j],m[i-1,j-x[i]]+y[i])
            else
            m[i,j]:=m[i-1,j];
       close(fi);
       writeln(fo,m[k,l]);
       close(fo);
      end.