import sys from collections import deque, Counter input = lambda: sys.stdin.readline().rstrip() ii = lambda: int(input()) mi = lambda: map(int, input().split()) li = lambda: list(mi()) inf = 2 ** 63 - 1 mod = 998244353 n, k = mi() a = li() def check(x): foo = 0 cnt = 0 for i in range(n): if a[i] + foo < x: t = (x - a[i] - foo + i) // (i + 1) cnt += t foo += (i + 1) * t if cnt <= k: return True else: return False ok = 0 ng = 10 ** 18 while abs(ok - ng) > 1: mid = (ok + ng) // 2 if check(mid): ok = mid else: ng = mid print(ok)