코테준비
[백준 / 파이썬] 1654번 랜선 자르기
지숭숭숭
2024. 1. 14. 19:04
k, n = map(int, input().split())
a=[]
for i in range(k):
a.append(int(input()))
start = 1
end = max(a)
while(start <= end):
mid = (start + end) // 2
c = 0
for i in range(k):
c += a[i] // mid
if c >= n:
start = mid + 1
else:
end = mid - 1
print(end)
길이 범위를 1부터 가장 긴 랜선 길이까지
잘라진 랜선의 개수가 n보다 많으면 mid보다 더 큰 수들만 다시 확인하면 되기 때문에 mid+1
최대 랜선 길이를 구해야 하기 때문에 필요한 랜선 개수보다 작아지는 순간 mid -1
728x90