Cod sursa(job #702087)

Utilizator sergiu.marcusMarcus Sergiu sergiu.marcus Data 1 martie 2012 19:28:15
Problema Energii Scor 15
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.94 kb
type rec=record
pr,eng:integer;end;
var fab:array[1..5001]of rec; f,g:text; ge,i,w,j,cos,k,xx:integer; aux:rec;
begin
assign(f,'energii.in');reset(f);
assign(g,'energii.out');rewrite(g);
readln(f,ge);
readln(f,w);

for i:=1 to ge do
readln(f,fab[i].eng,fab[i].pr);

for i:=1 to ge-1 do
for j:=i+1 to ge do
if fab[i].eng>fab[j].eng then begin aux:=fab[i];
                                  fab[i]:=fab[j];
                                  fab[j]:=aux; end;i:=0; k:=0;
while (k<w)or(i<ge) do begin i:=i+1;
k:=k+fab[i].eng;
cos:=cos+fab[i].pr;  end;   xx:=i;

for i:=1 to xx-1 do
for j:=i+1 to xx do
if fab[i].pr>fab[j].pr then begin aux:=fab[i];
                                  fab[i]:=fab[j];
                                  fab[j]:=aux; end;

for j:=xx downto 1 do
if k-fab[j].eng>=w then begin
cos:=cos-fab[j].pr; k:=k-fab[j].eng; end;

if (k<w)and(i=ge) then write(g,-1) else write(g,cos);

close(f);
close(g);
end.