1654번: 랜선 자르기 (acmicpc.net)

 

k, n = map(int, input().split())
len_list = []
for _ in range(k):
    len_list.append(int(input()))

left = 1
right = max(len_list)
while left<=right:
    mid = (left + right) //2
    target = 0
    for i in len_list:
        target += i//mid
    if target < n:
            right = mid-1
    else:
        left = mid+1           

print(right)

+ Recent posts