42分求调
查看原帖
42分求调
1073282
jijiladajiji楼主2024/10/15 21:30
#include<bits/stdc++.h>
using namespace std;
int n,k;
int a[11451];
bool check(int x){
	int ans=0;
	for(int i=1;i<=n;i++){
		ans+=a[i]/x;
	}
	if(ans >= k) return 1;
	else return 0;
}
int main(){
	cin>>n>>k;
	for(int i=1;i<=n;i++){
		double v;
		scanf("%lf",&v);
		a[i]=100*v;
	}
	int l=0,r=1000000;
	while(l<r){
		int mid=(l+r)>>1;
		if(mid==0) break;
		if(check(mid)){
			l=mid+1;
		}
		else r=mid;
	}
	printf("%.2lf",l/100.0);

	return 0;
}

2024/10/15 21:30
加载中...