#include
using namespace std;
int n,c;
int check(int num,int stalls[])
{
int cows=1,pos=stalls[0];
for(int i=1;i<n;i++)
{
if(stalls[i]-pos>=num)
{
pos=stalls[i];
cows++;
if(cows==c)
return 1;
}
}
return 0;
}
int bsearch(int arr[])
{
int s=0,e=n-1,max=-1;
while(s<=e)
{
int mid=(s+e)/2;
if(check(mid,arr)==1)
{
if(mid>max)
max=mid;
s=mid+1;
}
else
e=mid;
}
return max;
}
int main() {
cin>>n>>c;
int a[n];
for(int i=0;i<n;i++)
cin>>a[i];
cout<<bsearch(a);
return 0;
}