from itertools import accumulate def main(): n, m = map(int, input().split()) a = [0] + list(map(int, input().split())) acc = list(accumulate(a)) def isok(k): return all(acc[i] >= m * k * i for i in range(1, n)) left = 0 right = 10 ** 9 + 1 while right - left > 1: mid = (left + right) // 2 if isok(mid): left = mid else: right = mid print(left) if __name__ == "__main__": main()