资本 • 5天前
using namespace std; int a[100010]; int n, m;
bool check(int b) {
int cnt = 1, temp = 1;
for (int i = 2; i <= n; i++) {
if (a[i] - a[temp] >= b) {
temp = i;
cnt++;
}
}
return cnt >= m;
}
int main() {
cin >> n >> m;
for (int i = 1; i <= n; i++) {
cin >> a[i];
}
sort(a + 1, a + n + 1);
int l = 1, r = a[n] - a[1], ans = 0;
while (l <= r) {
int mid = (l + r) / 2;
if (check(mid)) {
ans = mid;
l = mid + 1;
} else
r = mid - 1;
}
cout << ans;
return 0;
}
评论:
请先登录,才能进行评论