Cod sursa(job #95606)

Utilizator monitor_evaluaremonitor evaluare complet monitor_evaluare Data 29 octombrie 2007 17:40:10
Problema Energii Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.64 kb
var g,p,s : array[0..1000] of integer;
    w,i,j,max,n,rez : integer;
    f,gg : text;
begin
assign(f,'energii.in'); reset(f);
assign(gg,'energii.out'); rewrite(gg);
readln(f,n); readln(f,w);
for i:=1 to n do begin
         read(f,g[i],p[i]);
         g[i]:=-g[i];
         p[i]:=-p[i];
         end;
{for i:=0 to 1000 do s[i]:=32000;}
begin
     for j:=max downto 0 do
     if s[abs(j+g[i])]>s[j]+p[i] then
     begin
          s[abs(j+g[i])]:=s[j]+p[i];
          if (j+g[i]>max) and (j+g[i]<w) then max:=j+g[i];
     end;
end;
rez:=maxint;
for i:=0 to w do
        if s[i]<rez then rez:=s[i];
writeln(gg,-rez);
close(gg);
end.