5 5
1
2
3
4
5
6 4
6
8
14
16
29
3000
1
1000000
1000100
1100100
110010010
111111111
1000000000
참고: 999999 1000099 1100099 110010009 111111110 999999999 [집 위치간 간격]
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken());
int c = Integer.parseInt(st.nextToken());
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = Integer.parseInt(br.readLine());
}
Arrays.sort(arr);
int left = 0;
int right = 1_000_000_000;
int ans = 0;
while(left <= right){
int mid = (left + right) / 2;
int last = arr[0];
int count = 1;
for (int i = 1; i < n; i++) {
if(arr[i] - last < mid){
continue;
}
count++;
last = arr[i];
}
if(count < c){
right = mid - 1;
}else{
left = mid +1;
ans = mid;
}
}
bw.write(ans+"");
br.close();
bw.close();
}
}