N,M = map(int,input().split()) A = list(map(int,input().split())) l = 0 r = max(A)+1 while r-l != 1: m = (l+r)//2 now = 0 flag = True for i in range(N): now += A[i] now -= M * m if now < 0: flag = False break if flag: l = m else: r = m print (l)