N,K=map(int,input().split())
A=list(map(int,input().split()))
a=0
b=10**9+1
while a+1<b:
  mid=(a+b)//2
  ans=0
  for i in A:
    ans+=(i-1)//mid
  if K<ans:
    a=mid
  else:
    b=mid
print(b) N,K=map(int,input().split()) N map(int,input().split()) map int input().split() ().split () input split K A=list(map(int,input().split())) A list(map(int,input().split())) list map(int,input().split()) map int input().split() ().split () input split a=0 a 0 b=10**9+1 b 10**9+1 10**9 10 9 1 while a+1<b:
  mid=(a+b)//2
  ans=0
  for i in A:
    ans+=(i-1)//mid
  if K<ans:
    a=mid
  else:
    b=mid a+1<b a+1 a 1 b mid=(a+b)//2 mid (a+b)//2 a+b a b 2 ans=0 ans 0 for i in A:
    ans+=(i-1)//mid
   i A ans+=(i-1)//mid ans (i-1)//mid i-1 i 1 mid if K<ans:
    a=mid
  else:
    b=mid K<ans K ans a=mid a mid b=mid b mid print(b) print b A=list(map(int,input().split())) list(map(int,input().split())) A mid=(a+b)//2 (a+b)//2 mid b=10**9+1 10**9+1 b ans+=(i-1)//mid (i-1)//mid ans K=map(int,input().split()) map(int,input().split()) K N,K=map(int,input().split()) map(int,input().split()) N ans=0 0 ans a=0 0 a b=mid mid b a=mid mid a
N,K=map(int,input().split())
A=list(map(int,input().split()))
a=0
b=10**9+1
while a+1<b:
  mid=(a+b)//2
  ans=0
  for i in A:
    ans+=(i-1)//mid
  if K<ans:
    a=mid
  else:
    b=mid
print(b)