求助
查看原帖
求助
965065
Wan__Ye__Chu楼主2024/3/23 17:21
#include<bits/stdc++.h>
using namespace std;  

const int maxn=1000000;
int qwq=110000000;
int n,c,ans,l,r,mid,d;
int a[maxn];

bool ef(int d)
{
	//cout<<d<<endl;
	int last=-10000000,k=0;
	for(int i=1;i<=n;i++)
		if(a[i]-last>=d)
		{
			last=a[i];
			k++;
		}
	cout<<k<<" "<<endl;
	if(k>=c)
		return k;
}

int main()
{
	ios::sync_with_stdio(0);
	cin>>n>>c;
	for(int i=1;i<=n;i++)
		cin>>a[i];
	sort(a+1,a+n+1);
	l=0,r=qwq;
	while(l<=r)
	{
		mid=(l+r)>>1;
		//cout<<ef(mid)<<endl;
		if(ef(mid))
			ans=mid,l=mid+1;
		else
			r=mid-1;
	}
	cout<<ans;
	return 0;	
}

不知道为什么,感觉没问题,但是连样例都不过。

2024/3/23 17:21
加载中...