import sys
sys.stdin = open('input.txt', 'rt')
input = sys.stdin.readline
K, N = map(int, input().split())
lan = []
for _ in range(K):
lan.append(int(input()))
end = max(lan)
start = 1 # 0으로 설정하면 제로 디비전 오류가 발생한다.
while start <= end:
middle = (start + end) // 2
sum_lan = sum([l // middle for l in lan])
if sum_lan >= N:
answer = middle
start = middle + 1
else:
end = middle - 1
print(answer)
일반적인 이분 탐색 문제이다.