https://www.acmicpc.net/problem/2805
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
import sys
input = sys.stdin.readline
n, m = map(int, input().split())
height = list(map(int, input().split()))
start = 1
end = max(height)
while start <= end:
mid = (start+end)//2
tree = 0
for i in height:
temp = i-mid
if temp > 0:
tree += temp
if m <= tree:
start = mid+1
else:
end = mid -1
print(end)
|
cs |
'백준' 카테고리의 다른 글
백준 1654번: 랜선 자르기 (0) | 2023.02.19 |
---|---|
백준 1018번: 체스판 다시 칠하기 (0) | 2023.02.18 |
백준 1300번: K번째 수 (1) | 2023.02.16 |
백준 2343번: 기타 레슨 (0) | 2023.02.16 |
백준 1167번: 트리의 지름 (0) | 2023.02.12 |