Algorithm/noj.am
[Python] 백준 2805번 - 나무 자르기
SweetDev
2021. 1. 21. 08:01
import sys
N, M = map(int, sys.stdin.readline().split())
# N: 나무의 수
# M: 집에 가져가려고 하는 나무 길이
data = list(map(int, sys.stdin.readline().split()))
left = 1
right = max(data)
while left <= right:
mid = (right + left) // 2
count = 0
for i in data:
if i >= mid:
count += i - mid
else:
count += 0
if count >= M:
left = mid + 1
else:
right = mid - 1
print(right)
Binary Search로 풀면 된다.