n, k = map(int, input().split())
a = list(map(int, input().split()))
low = 0
top = max(a) + 1

while top - low > 1:
  mid = (top + low) // 2
  cnt = 0
  for i in range(n):
    if a[i] % mid == 0:
      cnt += (a[i] // mid) - 1
    else:
      cnt += a[i] // mid
  if cnt <= k:
    top = mid
  else:
    low = mid
print(top) 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 low = 0 low 0 top = max(a) + 1 top max(a) + 1 max(a) max a 1 while top - low > 1:
  mid = (top + low) // 2
  cnt = 0
  for i in range(n):
    if a[i] % mid == 0:
      cnt += (a[i] // mid) - 1
    else:
      cnt += a[i] // mid
  if cnt <= k:
    top = mid
  else:
    low = mid top - low > 1 top - low top low 1 mid = (top + low) // 2 mid (top + low) // 2 top + low top low 2 cnt = 0 cnt 0 for i in range(n):
    if a[i] % mid == 0:
      cnt += (a[i] // mid) - 1
    else:
      cnt += a[i] // mid
   i range(n) range n if a[i] % mid == 0:
      cnt += (a[i] // mid) - 1
    else:
      cnt += a[i] // mid
   a[i] % mid == 0 a[i] % mid a[i] a i mid 0 cnt += (a[i] // mid) - 1 cnt (a[i] // mid) - 1 a[i] // mid a[i] a i mid 1 cnt += a[i] // mid cnt a[i] // mid a[i] a i mid if cnt <= k:
    top = mid
  else:
    low = mid cnt <= k cnt k top = mid top mid low = mid low mid print(top) print top cnt += (a[i] // mid) - 1 (a[i] // mid) - 1 cnt n, k = map(int, input().split()) map(int, input().split()) n a = list(map(int, input().split())) list(map(int, input().split())) a low = 0 0 low mid = (top + low) // 2 (top + low) // 2 mid cnt += a[i] // mid a[i] // mid cnt top = max(a) + 1 max(a) + 1 top low = mid mid low k = map(int, input().split()) map(int, input().split()) k top = mid mid top cnt = 0 0 cnt
n, k = map(int, input().split())
a = list(map(int, input().split()))
low = 0
top = max(a) + 1

while top - low > 1:
  mid = (top + low) // 2
  cnt = 0
  for i in range(n):
    if a[i] % mid == 0:
      cnt += (a[i] // mid) - 1
    else:
      cnt += a[i] // mid
  if cnt <= k:
    top = mid
  else:
    low = mid
print(top)
