#include<cstdio>
using namespace std;
long long int n,k,a[500005],cnt,sum,l,r,mid,bz[500005];
bool pd;
int main(){
scanf("%d%d",&n,&k);
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
bz[i]=a[i];
}
l=1,r=199999999999;
while(l<=r){
mid=(l+r)/2;
pd=0;
sum=0;
cnt=k;
for(int i=n;i>0;i--){
if(bz[i]>=0){
cnt--;
if(cnt<0){
pd=1;
break;
}
if(mid<=bz[i]){
pd=1;
break;
}
if(mid>bz[i]){
sum++;
bz[i]=-1;
}
for(int j=i-1;j>=1;j--){
if(mid-(i-j)*(i-j)>0){
bz[j]=bz[j]-(mid-(i-j)*(i-j));
if(bz[j]<0){
sum++;
}
}else{
break;
}
}
}
}
if(sum==n&&pd==0){
r=mid-1;
}else{
l=mid+1;
}
for(int i=1;i<=n;i++){
bz[i]=a[i];
}
}
printf("%d",r);
return 0;
}