我这只有90分,各位大佬帮忙看一下,谢谢!
查看原帖
我这只有90分,各位大佬帮忙看一下,谢谢!
672944
Knowledge__is__power楼主2023/7/10 00:23
#include<bits/stdc++.h>
using namespace std;
int n,c,l=1,h,mid,ans;
long long a[1000005];
bool  ch(int x){
	int a2=a[1],sum=1;
	for(int i=2;i<=n;i++){
		if(a[i]-a2>=x){
			sum++;
			a2=a[i];
		}
	}
	return sum>=c;
}
int main(){
	cin>>n>>c;
	for(int i=1;i<=n;i++) cin>>a[i];
	sort(a+1,a+1+n);
	h=n;
	while(l<=h){
		mid=(h+l)/2;
		if(ch(mid)){
			ans=max(ans,mid);
			l=mid+1;
		}
		else h=mid-1;
	}	
	cout<<ans;
	return 0;
}

2023/7/10 00:23
加载中...