n, k = map(int, input().split())
p = [int(input()) for _ in range(n)]
lo = 0
hi = max(p)
while lo + 1 < hi:
    mid = lo + (hi - lo) // 2
    trips = 0
    for x in p:
        trips += (x + mid - 1) // mid
    if trips <= k:
        hi = mid
    else:
        lo = mid
print(hi)
