#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int n,m;
int arr[N];
bool cha(int x){
if(x<arr[1]||x>arr[n]){
return false;
}
int l=1,r=n;
while(l<r){
int mid=l+r>>1;
if(arr[mid]>=x) r=mid;
else l=mid+1;
}
if(arr[l]==x) return true;
else return false;
}
int check(int x){
int t=m-1,ans=arr[1];
while(t--){
if(cha(ans+x)){
ans+=x;
}
else return 0;
}
return 1;
}
int main() {
cin>>n>>m;
for(int i=1;i<=n;i++) cin>>arr[i];
sort(arr+1,arr+n+1);
int l=1,r=n;
while(l<r){
int mid=l+r+1>>1;
if(check(mid)) l=mid;
else r=mid-1;
}
cout<<l;
return 0;
}