Cod sursa(job #148355)

Utilizator remuqueRemus Claudiu Dumitru remuque Data 4 martie 2008 10:37:44
Problema Energii Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.84 kb
var v:array[0..5001] of integer;
    e,c:array[1..1001] of integer;
    g,w,i,j,u:integer;
    f:text;

begin
assign(f,'energii.in');
reset(f);
 readln(f,g);
 readln(f,w);
 for i:=1 to g do
     readln(f,e[i],c[i]);
close(f);

for i:=1 to w do
    v[i]:=maxint-1;
    v[0]:=0;

    u:=0;
    for i:=1 to g do
    begin
        for j:=u downto 0 do
            begin
             if (v[j]<>maxint-1)and(v[j+e[i]]>c[i]+v[j])then
             if j+e[i]>w then
                begin
                 v[w]:=c[i]+v[j];
                 u:=w;
                end else
                begin
                 if j+e[i]>u then
                    u:=j+e[i];
                 v[j+e[i]]:=c[i]+v[j];
                end;
            end;
    end;
    assign(f,'energii.out');
    rewrite(f);
    write(f,v[w]);
    close(f);
end.