Cod sursa(job #120702)

Utilizator GavrilaVladGavrila Vlad GavrilaVlad Data 6 ianuarie 2008 13:09:45
Problema Energii Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.62 kb
var a,b,c,e:array[0..100000]of longint;
    w,n,i,j,k,l:longint;
    f:text;
begin
   assign(f,'energii.in');
   reset(f);
   read(f,n,w);
   for i:=1 to n do
   read(f,e[i],c[i]);
   close(f);
   for i:=1 to w do
   begin
   a[i]:=-1;
   b[i]:=-1;
   end;
   k:=0;
   for i:=1 to n do
   begin
   for j:=0 to k do
   begin
   l:=j+e[i];
   if l>w then l:=w;
   if(a[j]>-1)and((b[l]>a[j]+c[i])or(b[l]=-1))then b[l]:=a[j]+c[i];
   end;
   k:=k+e[i];
   if k>w then k:=w;
   for j:=0 to k do
   a[j]:=b[j];
   end;
   assign(f,'energii.out');
   rewrite(f);
   writeln(f,b[w]);
   close(f);
end.