Cod sursa(job #900328)

Utilizator gabimoiseMoise Gabriel gabimoise Data 28 februarie 2013 19:07:59
Problema Energii Scor 5
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.94 kb
program energii;
var f,g:text;
    n,k,poz,e,c,i,j,min,s:longint;
    v,x:array[0..10000000] of longint;
begin
  assign(f,'energii.in');reset(f);
  assign(g,'energii.out');rewrite(g);
  readln(f,n);
  readln(f,k);
  poz:=1; s:=0;
  for i:=1 to n do
    begin
      readln(f,e,c);
      s:=s+e;
      x[poz]:=e;
      for j:=1 to poz-1 do
        begin
          x[poz+j]:=e+x[j];
          if v[x[poz+j]]<>0 then if v[x[poz+j]]>c+v[x[j]] then
             v[x[poz+j]]:=c+v[x[j]];
          if v[x[poz+j]]=0 then v[x[poz+j]]:=c+v[x[j]];
        end;
      poz:=poz+poz-1;
      if v[e]<>0 then if v[e]>c then v[e]:=c;
      if v[e]=0 then v[e]:=c;
      inc(poz);
    end;
  if s<k then begin
                writeln(g,-1);
                close(f); close(g);
                exit;
              end;
  min:=2000000000;
  for i:=k to k+100 do if (v[i]<min) and (v[i]<>0) then min:=v[i];
  writeln(g,min);
  close(f); close(g);
end.