题解 100% AC
2025-08-12 08:53:41
发布于:江苏
9阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int n,c;
int a[100005];
int cal(int t){
int pre=a[1];
int s=1;
for(int i=2;i<=n;i++){
if(a[i]-pre>=t){
s++;
pre=a[i];
}
}
return s;
}
int main(){
cin>>n>>c;
for(int i=1;i<=n;i++)cin>>a[i];
sort(a+1,a+n+1);
int l=1,r=a[n]-a[1];
while(l<r){
int mid=(l+r+1)/2;
int s=cal(mid);
if(s>=c) l=mid;
else r=mid-1;
}
cout<<l;
return 0;
}
这里空空如也
有帮助,赞一个