N, K = map(int, input().split()) A = list(map(int, input().split())) def check(x): a = 0 b = 0 for i in range(N): tmp = A[i] + b - x if tmp < 0: tmp2 = - (tmp // (i + 1)) a += tmp2 b += tmp2 * (i + 1) if a > K: return False return True lb = 0 ub = A[0] + K + 1 while ub - lb > 1: mid = (ub + lb) // 2 if check(mid): lb = mid else: ub = mid print(lb)