Pagini recente » Cod sursa (job #2035442) | Cod sursa (job #2090919) | Cod sursa (job #2237820) | Cod sursa (job #3234964) | Cod sursa (job #28158)
Cod sursa(job #28158)
var G,i,j:1..1001;
W:1..5001;
f,h:text;
x:1..10001;
min:longint;
a:array[1..2,1..1001] of 0..10001;
cost:longint;
ok:boolean;
begin
assign(f,'energii.in'); reset(f);
assign(h,'energii.out'); rewrite(h);
readln(f,G);
readln(f,W);
min:=10000;
for i:=1 to G do begin
read(f,a[1,i],a[2,i]);
if a[1,i]>W then a[1,i]:=0;
if a[2,i]<min then min:=a[2,i]
end;
for i:=1 to G-1 do
for j:=i+1 to G do
if (a[1,i]/a[2,i])<(a[1,j]/a[2,j]) then begin
x:=a[1,i];
a[1,i]:=a[1,j];
a[1,j]:=x;
x:=a[2,i];
a[2,i]:=a[2,j];
a[2,j]:=x;
end;
i:=1; cost:=0; ok:=true;
Repeat
if a[1,i]<=W then begin
cost:=cost+a[2,i];
W:=W-a[1,i];
ok:=false;
end;
i:=i+1;
until W<=0;
if ok then write(h,min)
else write(h,cost);
close(h);
end.