#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int b[10000010],a,n,c,ans=0;
bool check(int x)
{
int last=b[1];
for(int i=2;i<=n;i++)
{
if(b[i]-last<x) ans++;
else last=b[i];
if(ans>a) return false;
}
return true;
}
int main()
{
cin>>n>>c;
for(int i=1;i<=n;i++)
{
cin>>b[i];
}
sort(b+1,b+n+1);
a=n-c;
int l=1,r=b[n]-b[1];
while(l+1<r)
{
int mid=(l+r)>>1;
if(check(mid)) l=mid;
else r=mid;
}
if(check(r)) cout<<r;
else cout<<l;
return 0;
}