
k, n = map(int, input().split())
line = []
for _ in range(k):
line.append(int(input()))
start = 1
end = max(line)
answer = 0
while(start <= end):
mid = (start + end) // 2
count = 0
for i in range(k):
count += line[i] // mid
if(count >= n):
answer = mid
start = mid + 1
else:
end = mid - 1
print(answer)
이전 문제인 백준 11561 문제를 풀어서 꽤 수월하게 풀었다. 해결과정이 많이 비슷하다!
https://velog.io/@rlaxoals132/%EB%B0%B1%EC%A4%80-11561-%EC%A7%95%EA%B2%80%EB%8B%A4%EB%A6%AC
마찬가지로 시작점과 끝점을 잡고, 중간 지점을 옮겨가며 이분탐색을 진행하여 해결했다.
