// 标记已经有了的 staticint m; staticint[] arr; staticint n;
publicstaticvoidmain(String[] args)throws IOException { n = nextInt(); m = nextInt(); arr = newint[n];
for (inti=0; i < n; i++) arr[i] = nextInt(); // 先排序 Arrays.sort(arr); intl=0; // 左 intr= arr[n - 1] - arr[0]; while (l <= r) { intmid= (l + r) >>> 1;// 中 if (checkDistance(mid)) { l = mid +1; }else { r = mid -1; }
} pw.println(r); pw.close(); }
staticbooleancheckDistance(int d) { intlast= d + arr[0]; intsum=1; for (inti=1; i < n; i++) { if (arr[i] < last) continue; last = arr[i] + d; sum++; } return sum >= m; }