코딩 테스트 준비

나무 자르기 - 실버 2 (백준, 이분탐색)

개발쉐발 2023. 1. 19. 12:35
728x90
반응형
import sys

input = sys.stdin.readline

N,M = map(int, input().split())
trees = list(map(int, input().split()))

s = 1
e = max(trees)
while s<=e:
  ans = 0
  mid = (s+e)//2
  for i in trees:
    if mid < i:
      ans += i - mid
  if ans > M:
    s = mid +1
  elif ans == M:
    e = mid
    break
  else:
    e = mid -1
    
print(e)

 

이분 탐색 익숙해질때까지 풀어보자!!

728x90
반응형