#include<bits/stdc++.h>
#define int long long
#define map lis
using namespace std;
int n,c;
int map[100010];
int ans;
bool check(int x){
int now=1,cnt=1;
for(int i=2;i<=n;i++){
if(map[i]-map[now]>=x) now=i,cnt++;
}
if(cnt>=c) return true;
return false;
}
int find(int l,int r){
while(l<r){
int mid=(l+r)/2;
if(check(mid)){
ans=mid;
l=mid+1;
}
else{
r=mid-1;
}
}
return ans;
}
signed main(){
cin>>n>>c;
for(int i=1;i<=n;i++) cin>>map[i];
sort(map+1,map+n+1);
int l=1,r=100005;
cout<<find(l,r);
return 0;
}