n,k=map(int,input().split()) A=list(map(int,input().split())) if k==0: print(min(A)) exit() min_num=2**61-1 min_ind=[] for i in range(n): if min_num>A[i]: min_ind.append(i) min_num=A[i] ans=A[min_ind[-1]] for j in range(len(min_ind)-1,-1,-1): if j==0: ans+=k break n_ind=min_ind[j] p_ind=min_ind[j-1] y=(A[p_ind]-ans)//(n_ind+1) if y>=k: ans+=k*(n_ind+1) break k-=y ans+=y*(n_ind+1) if min(ans+n_ind+1,A[p_ind])>=ans+p_ind+1: k-=1 ans=A[p_ind] print(ans)