大神们,求解
查看原帖
大神们,求解
983667
Zjh_abcdbt_rnfmabj楼主2023/10/14 16:12
#include<bits/stdc++.h>
using namespace std;
const long int N=1e5+10;
int a[N];
int n,c;
bool check(long long x){
	int idx=1,res=1;
	for(int i=2;i<=n;i++){
		if(a[i]-a[idx]>=x)
		idx=i;
		res++;
	}
	if(res>=c) return true;
	return false; 
}

int main(){
    
	scanf("%d%d",&n,&c);
	
	for(int i=1;i<=n;i++) {
		scanf("%d",&a[i]);
	}
	sort(a+1,a+1+n);
	int l=1,r=a[n]-a[1];
	while(l<r){
	int mid=l+r+1>>1;
	if(check(mid)) l=mid;
	else r=mid-1;
	}
	cout<<l;
    return 0;
}

悬赏:一个关注

2023/10/14 16:12
加载中...