import sys
K, N = map(int, sys.stdin.readline().split(' '))
wire = [int(sys.stdin.readline()) for _ in range(K)]
start = 0
end = max(wire)
result = 1
while start <= end:
mid = (start + end) // 2
cnt = 0
for length in wire:
if mid != 0:
cnt += length // mid
if cnt >= N:
start = mid + 1
result = max(result, mid)
else:
end = mid - 1
print(result)
런타임 에러(ZeroDivision)
을 해결하기 위해 if mid != 0
이라는 조건이 추가되었습니다. 이분 탐색을 진행하다가 0
을 기준으로 자른다는 뜻은 아무것도 자를 수 없는 것과 같기 때문에 cnt
의 초기값인 0
과 같습니다.