Cod sursa(job #480098)

Utilizator alin1303Bulai Alin alin1303 Data 26 august 2010 13:55:43
Problema Energii Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.82 kb
type gener=record
eg,cg:word;
end;
var v:array[1..100] of gener;
g,w,i,en,cost,eg,cg:word;
aux:gener;
f,h:text;
k:boolean;
begin
assign(f,'energii.in');
reset(f);
assign(h,'energii.out');
rewrite(h);
readln(f,g);
readln(f,w);
for i:=1 to g do
begin
read(f,eg);
readln(f,cg);
v[i].eg:=eg;
v[i].cg:=cg;
end;
k:=false;
repeat
k:=true;
for i:=1 to g-1 do
if v[i].eg<v[i+1].eg then
begin
aux:=v[i];
v[i]:=v[i+1];
v[i+1]:=aux;
k:=false;
end;
until k=true;
en:=0;
for i:=1 to g do
begin
en:=en+v[i].eg;
cost:=cost+v[i].cg;
end;
if en<w then
write(g,-1)
else
if en=w then
write(g,cost)
else
begin
i:=g;
while i>=1 do
if cost-v[i].cg<w then
begin
write(g,cost);
i:=i-1;
end
else
if cost-v[i].cg=w then
begin
write(g,cost-v[i].cg);
i:=i-1;
end
else
i:=i-1;
end;
close(f);
close(h);
end.