n, k = map(int,input().split()) a = list(map(int,input().split())) suki = 10 ** 18 kirai = 0 while suki - kirai > 1: targ = (suki + kirai) // 2 tai = 0 rrs = 0 b = a[::] for i in range(n): b[i] += tai if b[i] < targ: g = (targ - b[i] + i) // (i + 1) tai += g * (i + 1) rrs += g if rrs > k: suki = targ else: kirai = targ print(kirai)