백준 1654 - 랜선 자르기 (파이썬)

Updated:

Answer

import sys

k, n = map(int, sys.stdin.readline().split())
a = [int(sys.stdin.readline()) for _ in range(k)]
s, e = 1, max(a)

while s <= e:
    m = (s + e) // 2

    tmp = 0
    for i in a:
        tmp += i // m

    if tmp >= n:
        s = m + 1
    elif tmp < n:
        e = m - 1

print(e)

Categories:

Updated: