#include<iostream>
#include<algorithm>
using namespace std;
long long int a[100005];
int n,k,ans,sum;
double mid;
double binary_search(int len){
double left=0;
double right=len;
while(left<right){
mid=(left+right)/2;
ans=0;
for(int i=0;i<n;i++){
ans+=(a[i]/mid);
}
if(ans<k){
right=mid-0.0005;//这里的精度让我做这道题的时候十分难受(错了好几次)
}
else if(ans>=k){
left=mid+0.0005;
}
}
return left;
}
int main(){
cin>>n>>k;
for(int i=0;i<n;i++){
cin>>a[i];
if(a[i]>sum)sum=a[i];
}
printf("%.2lf",binary_search(sum));
return 0;
}
剪绳子(3月27日)
最新推荐文章于 2024-07-12 16:34:36 发布