[백준/파이썬] 2805번

민정·2023년 2월 28일
0

[백준/파이썬]

목록 보기
103/245
post-thumbnail

백준 2805번

문제

https://www.acmicpc.net/problem/2805

코드

n, m = map(int, input().split())

tree = list(map(int, input().split()))


start = 1 #min(tree) 가 아님. 
end = max(tree)

while start <= end:
    mid = (start + end )//2
    sp_tree = 0
    for i in tree:
        if i > mid :
            sp_tree += (i-mid)
    if sp_tree  >= m:
        start = mid + 1
    else:
        end = mid - 1

print(end)

풀이

이분탐색을 이용하여 해결합니다.

profile
パㅔバ6ㅇr 덤벼ㄹΓ :-0

0개의 댓글