여름의 서재

[백준] 2805_나무 자르기 본문

알고리즘/BOJ

[백준] 2805_나무 자르기

엉아_ 2021. 8. 13. 00:40
728x90
import sys

N, M = map(int, sys.stdin.readline().split())
tree = list(map(int, sys.stdin.readline().split()))

def tree_cut(start, end, lst, need):
    while start <= end:
        middle = (start + end)//2
        total = 0

        for i in lst:
            if i > middle:
                total += i - middle

        if total >= need:
            start = middle + 1
        else:
            end = middle - 1
            
    return end
    
print(tree_cut(0,max(tree),tree,M))

#이진탐색 이용

'알고리즘 > BOJ' 카테고리의 다른 글

[백준] 2628_종이자르기  (0) 2021.08.18
[백준] 1208_부분수열의 합 2  (0) 2021.08.16
[백준] 1244_스위치 켜고 끄기  (0) 2021.08.13
[백준] 14647_준오는 조류혐오야!!  (0) 2021.08.13
[백준] 9095_1, 2, 3더하기  (0) 2021.08.12
Comments