#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
long long n,m,a[100010],l=1e9+10,r,mid;
bool check(int x){
int cnt=1,now=a[1];
for(int i=2;i<=n;i++){
if(a[i]-now>x){
cnt++;now=a[i];
}
if(cnt>=m)return true;
}
return false;
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>a[i];
r=max(r,a[i]);
l=min(l,a[i]);
}
sort(a+1,a+n+1);
while(l<=r){
mid=l+r>>1;
if(check(mid))r=mid-1;
else l=mid+1;
}
cout << l-1;
return 0;
}