[Python] BOJ 2805번. 나무 자르기

2805번. 나무 자르기

문제 링크

풀이 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 2805번. 나무 자르기

# pypy로 해야 시간초과 없이 성공

import sys
input = sys.stdin.readline

n, m = map(int, input().split())
tList = list(map(int, input().split()))

left = 1
right = max(tList)

while left <= right:
    mid = (left+right)//2
    sum = 0
    for t in tList:
        if t >= mid:
            sum += (t-mid)
    if sum >= m:
        left = mid+1
    else:
        right = mid-1

print(right)

비고