import java.util.Arrays;
import java.util.Scanner;
public class Main {
static int[] arr;
static int a,n,c;
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int num=0;
n=sc.nextInt();
c=sc.nextInt();
arr=new int[n];
for (int i=0;i<n;i++){
arr[i]=sc.nextInt();
}
Arrays.sort(arr);
a=n-c;
int l=0,r=arr[n-1]-arr[0];
while (l+1<r){
int mid=l+r>>1;
if(mess(mid)) l=mid;
else r=mid;
}
if (mess(r)) System.out.println(r);
else System.out.println(l);
}
public static boolean mess(int x){
int num=0;
int l=arr[0];
for (int i=1;i<n;i++){
if(arr[i]-l<x) num++;
else l=arr[i];
if (num>a) return false;
}
return true;
}
}