2 条题解

  • 1
    @ 2023-10-17 21:25:37
    #include<bits/stdc++.h>
    using namespace std;
    int n,k,lln[1000010];
    double tmp;
    bool jj(int x){
    	int cnt=0;
    	for(int i=1;i<=n;i++){
    		cnt+=(lln[i]/x);
    	}
    	return cnt>=k;
    }
    int main(){
    	scanf("%d%d",&n,&k);
    	for(int i=1;i<=n;i++){
    		scanf("%lf",&tmp);
    		lln[i]=tmp*100;
     }
    	int l=0,r=1<<30;
    	double ans=0;
    	while(l<=r){
    		int mid=l+(r-l)/2;
    		if(mid==0) break;
    		if(jj(mid)){
    			ans=mid;
    			l=mid+1;
    		}
    		else {
    			r=mid-1;
    		}
    	}
    	printf("%.2f",ans/100.0);
    	return 0;
    }
    

    信息

    ID
    754
    时间
    1000ms
    内存
    128MiB
    难度
    2
    标签
    递交数
    84
    已通过
    24
    上传者