N, K = map(int, input().split())

Alist = list(map(int, input().split()))

left = 0
right = max(Alist)

while right - left > 1:
    mid = (left + right) // 2
    
    cnt = 0
    for A in Alist:
        if A % mid == 0:
            cnt += (A // mid) - 1
        else:
            cnt += (A // mid)
    
    if cnt <= K:
        right = mid
    else:
        left = mid

print(right) N, K = map(int, input().split()) N map(int, input().split()) map int input().split() ().split () input split K Alist = list(map(int, input().split())) Alist list(map(int, input().split())) list map(int, input().split()) map int input().split() ().split () input split left = 0 left 0 right = max(Alist) right max(Alist) max Alist while right - left > 1:
    mid = (left + right) // 2
    
    cnt = 0
    for A in Alist:
        if A % mid == 0:
            cnt += (A // mid) - 1
        else:
            cnt += (A // mid)
    
    if cnt <= K:
        right = mid
    else:
        left = mid right - left > 1 right - left right left 1 mid = (left + right) // 2 mid (left + right) // 2 left + right left right 2 cnt = 0 cnt 0 for A in Alist:
        if A % mid == 0:
            cnt += (A // mid) - 1
        else:
            cnt += (A // mid)
    
     A Alist if A % mid == 0:
            cnt += (A // mid) - 1
        else:
            cnt += (A // mid)
    
     A % mid == 0 A % mid A mid 0 cnt += (A // mid) - 1 cnt (A // mid) - 1 A // mid A mid 1 cnt += (A // mid) cnt A // mid A mid if cnt <= K:
        right = mid
    else:
        left = mid cnt <= K cnt K right = mid right mid left = mid left mid print(right) print right K = map(int, input().split()) map(int, input().split()) K right = mid mid right N, K = map(int, input().split()) map(int, input().split()) N cnt = 0 0 cnt cnt += (A // mid) A // mid cnt right = max(Alist) max(Alist) right left = mid mid left Alist = list(map(int, input().split())) list(map(int, input().split())) Alist left = 0 0 left mid = (left + right) // 2 (left + right) // 2 mid cnt += (A // mid) - 1 (A // mid) - 1 cnt
N, K = map(int, input().split())

Alist = list(map(int, input().split()))

left = 0
right = max(Alist)

while right - left > 1:
    mid = (left + right) // 2
    
    cnt = 0
    for A in Alist:
        if A % mid == 0:
            cnt += (A // mid) - 1
        else:
            cnt += (A // mid)
    
    if cnt <= K:
        right = mid
    else:
        left = mid

print(right)