PersonalCorpus 版 (精华区)
155548 05:27:55 6 Mar 2002
Bozhang,HIT,P.R.China 1184 Pascal Accepted 0.05 sec 94K
var
a:array[1..10000] of integer;
r:real;
i,j,m,t,n,k:integer;
function cut(m:integer):integer;
var i:integer;
begin
result:=0;
for i:=1 to n do begin
result:=result+(a[i] div m);
if result>=k then break;
end;
end;
begin
readln(n,k); j:=0;
for i:=1 to n do begin
readln(r);
a[i]:=round(r*100);
if j<a[i] then j:=a[i];
end;
i:=1; r:=0;
while i<=j do begin
m:=(i+j) div 2;
t:=cut(m);
if t>=k then begin i:=m+1; r:=m end else j:=m-1;
end;
writeln(r/100:0:2);
end.
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.806毫秒