Cod sursa(job #1044690)

Utilizator Vele_GeorgeVele George Vele_George Data 30 noiembrie 2013 11:29:55
Problema Energii Scor 35
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.07 kb
type vec=array[1..5010] of integer;
var  gen,watt,i,cmin:integer;
     w,c,d:vec;
     f,g:text;
function test(x,n:integer):byte;
 var i:integer;
  begin
   test:=0;
   for i:=1 to n do
    if d[i]=x then begin
                    test:=1;
                    break;
                   end;

  end;


function ins(pas,poz,ener,cost:integer):integer;
 var i:integer;
  begin
  d[pas]:=poz;
  if (ener>=watt) then begin
                        if (cost<cmin) then cmin:=cost;
                       end
                  else
                      for i:=1 to gen do
                       if (test(i,pas)=0) and (c[i]+cost<cmin)
                         then ins(pas+1,i,ener+w[i],cost+c[i]);
  end;

function backtrack:integer;
 var i:integer;
  begin
   for i:=1 to gen do
    if c[i]<cmin then ins(1,i,w[i],c[i]);
  end;




begin
assign(f,'energii.in' );reset(f);
assign(g,'energii.out');rewrite(g);
readln(f,gen);
readln(f,watt);
for i:=1 to gen do readln(f,w[i],c[i]);
close(f);
cmin:=32000;
backtrack;
write(g,cmin);
close(g);
end.