题意
从大到小排序,排GPA,输出第k大的GPA。
分析
先把GPA算出来, 再用快排排序,最后输出a[k]。
程序:
var
n,k,i:longint;
a,b:real;
w:array[0..100000]of real;
procedure kp(l,r:longint);
var
i,j:longint;
mid:real;
begin
if l>=r then exit;
i:=l;j:=r;mid:=w[(l+r) div 2];
repeat
while w[i]>mid do inc(i);
while w[j]<mid do dec(j);
if i<=j then
begin
w[0]:=w[i];w[i]:=w[j];w[j]:=w[0];
inc(i);dec(j);
end;
until i>j;
kp(l,j);
kp(i,r);
end;
begin
readln(n,k);
for i:=1 to n do
begin
readln(a,b);
w[i]:=a/b;
end;
kp(1,n);
write(w[k]:0:2);
end.