93分求助
  • 板块P1577 切绳子
  • 楼主MENG_QI
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/8/13 10:17
  • 上次更新2023/11/3 04:09:03
查看原帖
93分求助
775102
MENG_QI楼主2023/8/13 10:17
#include<bits/stdc++.h>
using namespace std;
int n, k; 
float a[10010] , s;
bool check(int x){
    int cnt=0;
    for(int i=1;i<=n;i++)
        cnt+=a[i]/x;
    if(cnt>=k)  return 1;
    else  return 0;
}
int main(){
	cin >> n >> k;
	for(int i = 1;i <= n;i++){
		cin >> a[i];
		a[i] *= 100.0;
	} 
	sort(a+1,a+1+n);
	float l = 0 , r = 0x7fffffff , mi;
	while(r - l>1e-10){
		mi = (l+r) / 2;
		if(check(mi))l = mi + 1;
		else r = mi - 1;
	}
	printf("%.3lf",r / 100.000000);
	return 0;
}
2023/8/13 10:17
加载中...