Cod sursa(job #326278)

Utilizator andrey932Andrei andrey932 Data 24 iunie 2009 14:20:40
Problema Energii Scor 5
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.81 kb
var t:text;
    g,w,i,j,min,mini:integer;
    p,c:array[0..1001] of integer;
    d:array[0..6000] of integer;
    x:array[0..6000,0..1001] of boolean;
    ok:boolean;


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

d[0]:=0;
for i:=1 to 6000 do d[i]:=20000;
for i:=0 to w do
  begin

    for j:=1 to g do
      begin
       if x[i,j]=false then
        if d[i]+c[j]<d[i+p[j]] then
          begin
            d[i+p[j]]:=d[i]+c[j];
            move(x[i],x[i+p[j]],sizeof(x[i]));
            x[i+p[j],j]:=true;
          end;
      end;
  end;
ok:=false;
close(t);
assign(t,'energii.out'); rewrite(t);
for i:=w to 6000 do
  if d[i]<>20000 then begin write(t,d[i]); ok:=true; break; end;

if ok=false then write(t,-1);
close(t);

end.