https://www.acmicpc.net/problem/2805
💡 나무의 수 = 4, 집으로 가져가려 하는 나무 길이 = 7
나무 리스트 = [ 20, 15, 10, 17 ]m = 15일 때 나무의 길이 2 + 5 = 7
따라서 m = 15
import sys
def cuttree(need, tree) :
start = 1
end = max(tree)
while start <= end :
mid = (start + end) // 2
s = 0
for i in tree :
if i >= mid :
s += i - mid
if s >= need : start = mid + 1
else : end = mid - 1
print(start)
n, need = map(int, sys.stdin.readline().split())
tree = list(map(int, sys.stdin.readline().split()))
cuttree(need, tree)
import sys
def cuttree(need, tree) :
start = 1
end = max(tree)
while start <= end :
mid = (start + end) // 2
s = 0
for i in tree :
if i > mid :
s += i - mid
if s >= need : start = mid + 1
elif s < need : end = mid - 1
print(end)
n, need = map(int, sys.stdin.readline().split())
tree = list(map(int, sys.stdin.readline().split()))
cuttree(need, tree)