提交时间:2024-01-25 10:39:41
运行 ID: 127848
#include<bits/stdc++.h> using namespace std; int n; int m; int a[100010]; int l; int r; int mid; bool check() { int sum=1; int last; last=a[1]; for(int i=2;i<=n;i++) { if(a[i]-last>=mid) { sum++; last=a[i]; } } return sum>=m; } int main() { cin>>n; cin>>m; for(int i=1;i<=n;i++) { cin>>a[i]; } sort(a+1,a+n+1); l=1; r=a[n]; while(l<r) { mid=(l+r+1)>>1; if(check()==1) { l=mid; } else { r=mid-1; } } cout<<l; return 0; } /* 1 3 4 8 10 1 4 8 */