Pagini recente » Cod sursa (job #93238) | Cod sursa (job #2792792) | Cod sursa (job #914700) | Cod sursa (job #1737859) | Cod sursa (job #130982)
Cod sursa(job #130982)
var f,g:text;
a,b:array[1..1000] of 1..10000;
c:array[1..10000] of real;
y:real;
x,n,w,i,j,val,k,min:integer;
pret,sol:longint;
begin
assign(f,'energii.in'); reset(f); assign(g,'energii.out'); rewrite(g);
read(f,n); read(f,w);
for i:=1 to n do begin
read(f,a[i],b[i]);
c[i]:=a[i]/b[i];
end;
for i:=1 to n-1 do for j:=i+1 to n do if c[i]<c[j] then begin
x:=a[i]; a[i]:=a[j]; a[j]:=x; x:=b[i]; b[i]:=b[j]; b[j]:=x; y:=c[i]; c[i]:=c[j]; c[j]:=y;
end;
sol:=-1;
val:=w; pret:=0; k:=0;
for i:=1 to n do
if (a[i]>w) then sol:=a[i]
else if a[i]<=val then begin val:=val-a[i]; pret:=pret+b[i]; k:=i end;
min:=5001;
for i:=n downto k-1 do if b[i]<min then min:=b[i];
pret:=pret+min;
if pret=0 then write(g,sol) else write(g,pret);
close(g);
end.