90分,求助
查看原帖
90分,求助
1058985
tarelshy楼主2023/8/10 09:51

可以帮我看看吗


using namespace std;                      
int a[1100101];
int main()
{
	int n,m,l=1;
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
	}
	sort(a+1,a+n+1);
	int r=a[n];
	while(l<r)
	{
		int q=a[1];
		int mid=(l+r+1)/2;
		int s=1;
		for(int i=1;i<=n;i++)
		{
			if(a[i]-q>mid)
			{
				q=a[i];
				s++;
			}
		}
		if(s>=m) l=mid;
		else r=mid-1; 
	}
	cout<<l+1<<endl;
	return 0;
}
2023/8/10 09:51
加载中...