求查错
查看原帖
求查错
749958
yyb18660335329楼主2023/11/25 10:47
#include<bits/stdc++.h>
using namespace std;
int n,k;
double m[100005];
bool pd(int cut)
{
	int ans=0;
	for(int i=1;i<=n;i++)
	{
		ans+=m[i]/cut;
	}
	return cut>=k;
}
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>m[i];
		m[i]=int(m[i]*100);
	}
	long long l=0,r=10000005,mid;
	while(l<=r)
	{
		mid=(l+r)/2;
		if(!mid) break;
		if(pd(mid)) l=mid+1;
		else r=mid-1;
	}
	printf("%.2f",r/100.0);
	return 0;
} 

二分不知道出什么问题了,总是输出一个十分离谱的数

2023/11/25 10:47
加载中...