提交时间:2025-08-14 10:49:55

运行 ID: 340530

#include<bits/stdc++.h> using namespace std; long long n,c,a[100086],l=1,r,m,p; bool d(int d){ int cnt=1,cnt2=0; for(int i=2;i<=n;i++){ if(a[i]-a[cnt2]>=d){ cnt++; cnt2=i; } } if(cnt>=c) return 1; else return 0; } int main(){ scanf("%d%d",&n,&c); for(int i=1;i<=n;i++){ scanf("%d",&a[i]); } sort(a+1,a+n+1); int ans=0,r=a[n]-a[1],l=1,m=0; while(l<r){ m=l+r>>1; if(d(m)){ ans=m; l=m+1; } else{ r=m; } } cout<<ans; return 0; }