n,k=map(int,input().split())
*a,=map(int,input().split())
l,r=0,10**9
while r-l>1:
    m=(l+r)//2
    t=0
    for x in a:
        if x<=m:
            continue
        t+=(x+m-1)//m-1
    if t<=k:
        r=m
    else:
        l=m
print(r) n,k=map(int,input().split()) n map(int,input().split()) map int input().split() ().split () input split k *a,=map(int,input().split()) *a a map(int,input().split()) map int input().split() ().split () input split l,r=0,10**9 l 0 r 10**9 10 9 while r-l>1:
    m=(l+r)//2
    t=0
    for x in a:
        if x<=m:
            continue
        t+=(x+m-1)//m-1
    if t<=k:
        r=m
    else:
        l=m r-l>1 r-l r l 1 m=(l+r)//2 m (l+r)//2 l+r l r 2 t=0 t 0 for x in a:
        if x<=m:
            continue
        t+=(x+m-1)//m-1
     x a if x<=m:
            continue
         x<=m x m continue t+=(x+m-1)//m-1 t (x+m-1)//m-1 (x+m-1)//m x+m-1 x+m x m 1 m 1 if t<=k:
        r=m
    else:
        l=m t<=k t k r=m r m l=m l m print(r) print r l=m m l r=0,10**9 10**9 r t=0 0 t m=(l+r)//2 (l+r)//2 m r=m m r n,k=map(int,input().split()) map(int,input().split()) n k=map(int,input().split()) map(int,input().split()) k l,r=0,10**9 0 l t+=(x+m-1)//m-1 (x+m-1)//m-1 t
n,k=map(int,input().split())
*a,=map(int,input().split())
l,r=0,10**9
while r-l>1:
    m=(l+r)//2
    t=0
    for x in a:
        if x<=m:
            continue
        t+=(x+m-1)//m-1
    if t<=k:
        r=m
    else:
        l=m
print(r)