import sys
k, n = map(int, sys.stdin.readline().split())
cable = [int(sys.stdin.readline()) for _ in range(k)]
left, right = 1, max(cable)
while left <= right:
mid = (left + right) // 2
cnt = 0
for c in cable:
cnt += c // mid
if cnt >= n:
left = mid + 1
else:
right = mid - 1
print(right)
어떤 하나의 숫자부터 시작해 1씩 증가해 나가며 확인할 수 있겠지만, 그렇게 풀면 시간 초과가 나올 수 밖에 없다. 따라서 이분 탐색으로 풀기!
이 문제는 유난히 계속 틀렸던 문제인데... 이분탐색을 잘 이해해야 하고 사소한 코드 실수를 조심해야 한다...😭
이분 탐색은 나도 아직 많이 안풀어봐서...