?!90分求助!!!
查看原帖
?!90分求助!!!
1065798
songziyin楼主2024/3/4 22:27
#include<bits/stdc++.h>
using namespace std;
int n,cow[110000],l,r,c,sum=-1;
bool check(int m)
{
	int ans=1,j=1;
	for(int i=2;i<=n;i++)
	{
		if(cow[j]+m<=cow[i])
		{
			ans++;
			j=i;
		}
	}
	return ans>=c;
}
int main()
{
	cin>>n>>c;
	r=n+1;
	for(int i=1;i<=n;i++)cin>>cow[i];
	sort(cow+1,cow+n+1);
	while(l+1<r)
	{
		int mid=(l+r)>>1;
		if(check(mid))
		{
			l=mid;
			sum=max(sum,l);
		}
		else r=mid;
	}
	cout<<sum;
	return 0;
}
2024/3/4 22:27
加载中...