def is_ok(V): cnt = 0 add = 0 for i,a in enumerate(A,start=1): if add+a 1): mid = (ok + ng) // 2 if is_ok(mid): ok = mid else: ng = mid return ok N,K = map(int, input().split()) A = list(map(int, input().split())) print(meguru_bisect(10**18,0))