93分 第12个没过
查看原帖
93分 第12个没过
1365344
huangruize楼主2024/8/11 11:40
#include<bits/stdc++.h>
using namespace std;
double n,k,c[100010],ma=INT_MIN;
bool check(double x){
    int res=0;
    for(int i=1;i<=n;i++){
        res+=c[i]/x;
   }
    return res>=k;
} 
int main(){
    cin>>n>>k;
    for(int i=1;i<=n;i++){
        cin>>c[i];
        ma=max(ma,c[i]);
    }
    double l=0,r=ma;
    double a=0;
    while(l<=r){
    double mid=(r+l)/2;
    if(mid==0) break;
        if(check(mid)){
           l=(a+mid)+0.01;
		 }
		 else{
        r=mid+0.01;
         }
    }
printf("%.2lf",r);
return 0;
}
2024/8/11 11:40
加载中...