求助 84分 wa点是#8
查看原帖
求助 84分 wa点是#8
744174
Autink9170楼主2022/9/3 20:17
#include<iostream>
using namespace std;
const int MAXN=100005;
int a[MAXN],b[MAXN];
long long n,k,sum,q,ans;
int find(long long x,long long y)
{
	if(x>=y-1)
	{
		return x;
	}
	int i=(x+y)/2;
	long long sum2=0;
	for(int j=0;j<n;j++)
	{
		sum2+=a[j]/i;
	}
	if(sum2>=k)
	{
		find(i,y);
	}
	else
	{
		find(x,i);
	}
}
int main()
{
	cin>>n>>k;
	for(int i=0;i<n;i++)
	{
		cin>>a[i];
		sum+=a[i];
	}
	if(sum<k)
	{
		cout<<"0";
	}
	else if(sum==k)
	{
		cout<<"1";
	}
	else
	{
		int q=sum/k;
		ans=find(1,q);
		cout<<ans;
	}
	return 0;
} 
2022/9/3 20:17
加载中...