카테고리 없음

7/7 코테 일지

코테챌린져 2024. 7. 7. 18:46

#1654

랜선 자르기

처음에는 모든 전선을 모두 사용해야 하는 줄 알고 min(k_array)를 했으나 그럴 필요가 없다는 것을 깨닫고 max(k_array)를 하니 풀렸다.

import sys
k, n = map(int,sys.stdin.readline().rstrip().split(' '))
k_array= []
for _ in range(k):
  k_array.append(int(sys.stdin.readline().rstrip()))
l, r = 1, max(k_array)
ans = 0
while (l<=r) : 
  mid = (l+r) // 2
  sum = 0 
  for k in k_array:
    sum += k // mid 
  if sum >= n : 
    l = mid + 1
    ans = mid
  elif sum < n : 
    r = mid - 1
print(ans)