0分球调
查看原帖
0分球调
1169788
xiaokang_suancai楼主2024/9/29 21:59

死循环了,但是找不到原因,求助
马蜂不喜勿喷

#include<bits/stdc++.h>
using namespace std;
int n,m,a[100005];
int l=1,r=1e9,mid,ans;
bool check(int x)
{
	int cnt=1,res=1;
	for(int i=2;i<=n;i++)
	{
		if(a[i]-res>=x)
		{
			res=a[i];
			cnt++;
		}
	}
	return cnt>=m;
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)
		cin>>a[i];
	sort(a+1,a+n+1);
	while(l<=r)
	{
		mid=(r-l)/2+1;
		if(check(mid))
		{
			ans=mid;
			l=mid+1;
		}
		else
			r=mid-1;
	}
	cout<<ans;
	return 0;
}
2024/9/29 21:59
加载中...