90pts...
查看原帖
90pts...
517320
CyaNgw_DyG楼主2021/12/18 17:54
#include<bits/stdc++.h>
using namespace std;
int k,n,m,a[100009];
int check(int jag){
	int fag=0,ans=0;
	for(int i=1;i<=n;i++){
		if(a[i]-fag<jag)ans++;
		else fag=a[i];
	}
	if(k-fag<jag)ans++;
	return ans<=m;
}
int main(){
	cin>>k>>n>>m;
	int l=1,r=k,mid;
	for(int i=1;i<=n;i++)cin>>a[i];
	sort(a+1,a+1+n);
	while(l<r-1){
		mid=(l+r)/2;
		if(check(mid))l=mid;
		else r=mid;
	}cout<<l;
}
2021/12/18 17:54
加载中...