提交时间:2024-01-25 09:47:44
运行 ID: 127656
#include <bits/stdc++.h> #define int long long using namespace std; int a[100005]; int n,m; bool chk(int dist) { int cnt = 1,lst = a[1]; for (int i = 2; i <= n; i++) if (a[i] - lst >= dist) lst = a[i],cnt++; return cnt >= m; } signed main() { cin >> n >> m; for (int i = 1; i <= n; i++) cin >> a[i]; sort(a + 1,a + n + 1); int l = 1,r = 1e9 + 5; while (l < r) { int mid = (l + r + 1) >> 1; if (chk(mid)) l = mid; else r = mid - 1; } printf("%lld\n",l); return 0; }