n, k = map(int, input().split())
a = [i-1 for i in map(int, input().split())]
left, right = 1, 10**9
while left < right:
    middle = (left + right)//2
    count = sum(i//middle for i in a)
    if count <= k:
        right = middle
    else:
        left = middle + 1
print(left) n, k = map(int, input().split()) n map(int, input().split()) map int input().split() ().split () input split k i-1 for i in map(int, input().split()) for i in map(int, input().split()) i map(int, input().split()) map int input().split() ().split () input split for i in map(int, input().split()) i-1 i 1 a = [i-1 for i in map(int, input().split())] a [i-1 for i in map(int, input().split())] left, right = 1, 10**9 left 1 right 10**9 10 9 while left < right:
    middle = (left + right)//2
    count = sum(i//middle for i in a)
    if count <= k:
        right = middle
    else:
        left = middle + 1 left < right left right middle = (left + right)//2 middle (left + right)//2 left + right left right 2 count = sum(i//middle for i in a) count sum(i//middle for i in a) sum i//middle i middle if count <= k:
        right = middle
    else:
        left = middle + 1 count <= k count k right = middle right middle left = middle + 1 left middle + 1 middle 1 print(left) print left left, right = 1, 10**9 1 left middle = (left + right)//2 (left + right)//2 middle left = middle + 1 middle + 1 left n, k = map(int, input().split()) map(int, input().split()) n right = 1, 10**9 10**9 right right = middle middle right count = sum(i//middle for i in a) sum(i//middle for i in a) count a = [i-1 for i in map(int, input().split())] [i-1 for i in map(int, input().split())] a k = map(int, input().split()) map(int, input().split()) k
n, k = map(int, input().split())
a = [i-1 for i in map(int, input().split())]
left, right = 1, 10**9
while left < right:
    middle = (left + right)//2
    count = sum(i//middle for i in a)
    if count <= k:
        right = middle
    else:
        left = middle + 1
print(left)