fork download
  1. #include<stdio.h>
  2. #include<algorithm>
  3. using namespace std;
  4. int n, k;
  5. int a[51515];
  6. bool f(int x) {
  7. int i, now = -1e9, cnt = 0;
  8. for (i = 0; i < n; i++) {
  9. if (a[i] - now>2 * x)now = a[i], cnt++;
  10. }
  11. return cnt <= k;
  12. }
  13. int main() {
  14. scanf("%d%d", &n, &k);
  15. for (int i = 0; i < n; i++)scanf("%d", &a[i]);
  16. sort(a, a + n);
  17. int s = 0, e = 1e9;
  18. int ans = 0;
  19. while (s <= e) {
  20. int m = (s + e) / 2;
  21. if (f(m))ans = m, e = m - 1;
  22. else s = m + 1;
  23. }
  24. printf("%d", ans);
  25. return 0;
  26. }
Success #stdin #stdout 0s 4512KB
stdin
7 2
20
25
18
8
10
3
1
stdout
5