코테준비 - Python/백준풀이
[백준 단계별 풀이 - 이분탐색] #2805 나무자르기
도비1
2022. 2. 8. 23:57
코드
N, M = map(int, input().split())
H = list(map(int, input().split()))
# H.sort()
cnt = len(H)
start, end = 1, max(H)
while start <= end:
tot = 0
mid = (start + end) // 2
# for tree in H:
# tot += max(tree - mid, 0)
for tree in H:
if tree > mid :
tot += tree - mid
if tot >= M :
start = mid + 1
answer = mid
else :
end = mid -1
print(answer)