70pts求助!
  • 板块P1577 切绳子
  • 楼主poor_OIer
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/7/27 22:06
  • 上次更新2024/7/28 08:17:19
查看原帖
70pts求助!
704634
poor_OIer楼主2024/7/27 22:06
#include<bits/stdc++.h>
using namespace std;
int n,k;
double ans,s,a[10005];
bool check(double x)
{
	int sum=0;
	for(int i=1;i<=n;i++)
		sum+=a[i]/x;
	return sum>=k;
}
int main()
{
	cin>>n>>k;
	for(int i=1;i<=n;i++)
		cin>>a[i],s+=a[i];
	double left=0.0,right=s/k;
	while(left<=right)
	{
		double mid=(left+right)/2.0;
		if(mid==0.0)
			break;
		if(check(mid))
			left=mid+0.01,ans=mid;
		else
			right=mid-0.01;
	}
	printf("%.2lf",ans);
	return 0;
}
2024/7/27 22:06
加载中...