import sys input = lambda :sys.stdin.readline()[:-1] ni = lambda :int(input()) na = lambda :list(map(int,input().split())) yes = lambda :print("yes");Yes = lambda :print("Yes");YES = lambda : print("YES") no = lambda :print("no");No = lambda :print("No");NO = lambda : print("NO") ####################################################################### n,k = na() a = na() ok = 0 ng = 10**20 while abs(ok - ng)>1: d = ok+ng>>1 s = 0 res = 0 for i in range(n): x = d - s - a[i] if x >= 0: s += (x + i)//(i+1) * (i+1) res += (x + i)//(i+1) if res <= k: ok = d else: ng = d print(ok)