1654 랜선 자르기
업데이트:
1. 문제
문제는 링크에 들어가면 있다.
2. 정답 코드
문제의 내 정답 코드는 다음과 같다.
import sys
read = sys.stdin.readline
K,N = map(int,read().split())
array = []
for _ in range(K):
array.append(int(read()))
start = 1
end = max(array)
while start<=end :
mid = (start+end)//2
temp = 0
for a in array:
temp += (a//mid)
if temp >= N :
start = mid+1
else :
end = mid-1
print(end)
3. 풀이 및 생각
문제 풀이
매우 평범한 이진탐색 문제이므로 풀이는 생략.
나의 생각
아직도 언제 start를 써야하고 언제 end를 정답으로 써야하는지를 모르겠다..
뭐야 대체..ㅜ?