import sys
sys.setrecursionlimit(100000)
N, M = map(int, input().split())
woods = list(map(int, input().split()))
def calcHeight(cr, woods):
answer =0
for wood in woods:
if wood > cr:
answer += wood-cr
return answer
def bs(height, woods, start, end):
mid = (start + end)//2
cutWoods = calcHeight(mid, woods)
if start > end:
return mid
if height <= cutWoods:
start = mid +1
answer = bs(height, woods, start, end)
if height > cutWoods:
end = mid -1
answer = bs(height, woods, start, end)
return answer
start =1
end = max(woods)
answer = bs(M,woods, start, end)
print(answer)
'Algorithm > 백준 온라인 저지(BOJ)' 카테고리의 다른 글
[BOJ] 11053 LIS 가장 긴 증가하는 수열 (0) | 2021.03.02 |
---|---|
[BOJ] 10815 숫자카드 파이썬 (0) | 2021.02.17 |
[BOJ] 1920 수 찾기 파이썬 (0) | 2021.02.15 |
09/04 캐슬 디펜스 BOJ 17135 파이썬 (0) | 2020.09.04 |
09/03 미확인 도착지 BOJ 9370 (0) | 2020.09.03 |