二分求调。。。一分都没有
查看原帖
二分求调。。。一分都没有
572193
witness_cy楼主2022/10/4 21:17
#include<iostream>
#include<algorithm> 
using namespace std;

int n,a[100005],c;

bool check(int k){
	int now=0,cow=0;
	for(int i=1;i<=n;i++){
        if(a[now]+k<=a[i]) now=i,cow++;
	}
	return cow>=c;
}
int main(){
	cin>>n>>c;
	for(int i=1;i<=n;i++) cin>>a[i];
	std::stable_sort(a+1,a+n+1);
	
	int l=1,r=a[n]-a[1];
	while(l<=r){
		int mid=(l+r)/2;
		if(check(mid)) l=mid+1;
		else r=mid-1;
	}
	cout<<l;
	return 0;
}
2022/10/4 21:17
加载中...