P1824 进击的奶牛20分求助
查看原帖
P1824 进击的奶牛20分求助
917793
BQianYi楼主2023/2/5 20:36
#include<iostream>
#include<algorithm>
using namespace std;
int a[100005],n,c; 
bool check(int limit)
{
	int cnt=0;
	int f=1;
	int s=2;
	while(s<=n)
	{
		if(a[f]+limit<=a[s])
		{
			cnt++;
			f=s;
		}
			s++;
	}
	return cnt>=c;
}
int main()
{
	int l,r;
	//shuru
	cin>>n>>c;
	for(int i=1;i<=n;i++)
		cin>>a[i];
	//chuli
	sort(a+1,a+1+n);//排序
	//怕出边界 :mid=l+(r-l)/2
	l=0;
	r=1000000001;
	while(l<=r)
	{
		int mid=(r+l)/2;
		if(check(mid))
		{
			l=mid+1;
		}
		else r=mid-1;
	}
	cout<<l-1;
return 0;
}
2023/2/5 20:36
加载中...