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)