#include <stdc++.h>
using namespace std;
long long n,k,a[2005],dp[2005];
bool check(long long sum)
{
long long ans=0,i,j;
memset(dp,0,sizeof(dp));
dp[1]=1;
for(i=2;i<=n;i++)
for(j=1;j<i;j++)
if(abs(a[i]-a[j])<=sum*(i-j))
dp[i]=max(dp[i],dp[j]+1);
for(i=1;i<=n;i++)
if(n-dp[i]<=k)
return 1;
return 0;
}
int main()
{
long long i,j,maxn=-(int)1e9-1,minn=(int)1e9+1;
cin>>n>>k;
for(i=1;i<=n;i++) cin>>a[i],minn=min(minn,a[i]),maxn=max(maxn,a[i]);
long long l=0,r=max(maxn-minn,maxn);
while(l<r)
{
long long mid=l+r >> 1;
if(check(mid)) r=mid;
else l=mid+1;
}
cout<<l<<endl;
return 0;
}