#include<bits/stdc++.h> using namespace std; const int N=1e8; int a[N],n,k; bool check(int d){ int cnt=1,s=1; int maxn,minn; maxn=minn=a[1]; for(int i=1;i<=n;++i){ for(int j=s;j<=i;++j){ maxn=max(maxn,a[j]); minn=min(minn,a[j]); } if(maxn-minn>d){ ++cnt; maxn=minn=a[i]; s= } if(cnt>k)return false; } return cnt<=k; } int main(){

cin>>n>>k;
for(int i=1;i<=n;++i)
	cin>>a[i];
int L=0,R=1e9+1;
while(R-L>1){
	int mid=(L+R)/2;
	if(check(mid))
		R=mid;
	else L=mid;
}
cout<<R;

return 0; }