蒟蒻40求助
查看原帖
蒟蒻40求助
254003
shuren楼主2020/11/1 10:02
#include<bits/stdc++.h>
using namespace std;	
int n,a[100000];
int c;
bool check(int mid)
{
	int num=1;
	int tot=1;
	for(int i=1;i<n;i++)
	{
		if(a[i]-a[num]>=mid) {
			tot++;
			num=i;
		}
	}
	if(tot>=c) return true;
	else return false;
}
int main()
{
	cin>>n>>c;
	for(int i=0;i<n;i++)
	{
		cin>>a[i];
	}
	sort(a,a+n);
	int mid,left=0,right=10000000/c;
		while(left<=right)
		{	
			mid=(left+right)/2;
			if(check(mid))
			{
				left=mid+1;
			}
			else right=mid-1;
		}
	cout<<mid<<endl;
	return 0;
 } 
2020/11/1 10:02
加载中...