最后一点WA,请大佬指点迷津!!!
查看原帖
最后一点WA,请大佬指点迷津!!!
941192
hyylearn楼主2023/3/27 14:47
#include<bits/stdc++.h>
using namespace std;
int a[1000050],m,n;
long long p,t;
int main()
{
	int i;
	cin>>n>>m;
	for(i=1;i<=n;i++)
	{
		cin>>a[i];
		t+=a[i];
	}
	t=t/m;//计算最大段长
	if(t==0)//无法分段输出0
	{
		cout<<0<<endl;
		return 0;
	}
    long long r=t,l=1;
	long long mid;
	while(l+1<r)//二分搜索
	{
		mid=(l+r)/2;
		p=0;
	    for(i=1;i<=n;i++)
	   {
		   p=p+a[i]/mid;
	   }
		if(p>=m)l=mid;
		else r=mid-1;
	}
	cout<<l<<endl;
	return 0;
}
2023/3/27 14:47
加载中...