提交记录:https://www.luogu.com.cn/record/165010399
代码:
#include<bits/stdc++.h>
using namespace std;
int n,m,a[1000001];
bool pd(int x){
int num=1,last=1;
for(int i=2;i<=n;i++){
if(a[i]-last>=x){
last=a[i];
num=num+1;
}
}
return num>=m;
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
}
sort(a+1,a+n+1);
int left=1,right=1000000000,mid,ans;
while(left<right){
mid=left+(right-left)/2;
if(pd(mid)){
ans=mid;
left=mid;
}else{
right=mid-1;
}
}
cout<<ans;
return 0;
}
本帖禁止无意义回复,请提供有效帮助。