백준 2805 - 나무 자르기 (파이썬)

Updated:

Answer

import sys

k, n = map(int, sys.stdin.readline().split())
a = list(map(int, sys.stdin.readline().split()))
s, e = 1, 1000000000

def calculate(m):
    tmp = 0
    for i in a:
        if i > m:
            tmp += i - m
    return tmp

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

    tmp = calculate(m)

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

print(e)

pypy로 제출하셔야 합니다!

Categories:

Updated: