徐梓畅 • 1年前
using namespace std; typedef int i; i n,k,a[100005],l=1,mid,r; bool check(int x){
i s=1;
i d;
i c=a[1];
for(i i=2;i<=n;i++){
d=a[i]-c;
if(d>=x){
s++;
c=a[i];
}
}
if(s<k) return true;
else return false;
} int main(){
cin>>n>>k;
for(i i=1;i<=n;i++) cin>>a[i];
sort(a+1,a+1+n);
r=a[n]-a[1];
while(l<=r){
mid=(r+l)/2;
if(check(mid)) r=mid-1;
else l=mid+1;
}
cout<<r;
return 0;
}
评论: