728x90
반응형
2805번 나무 자르기와 거의 똑같은 문제이다.
이제 이런 종류의 이분 탐색 문제는 익숙해진 건지 3분 만에 풀었다!
def binarySearch(li, M):
s, e = 1, max(li)
ans = 0
while s <= e:
m = (s + e) // 2
t = 0
for n in li:
if n > m:
t += m
else:
t += n
if t <= M:
s = m + 1
ans = m
else:
e = m - 1
return ans
N = int(input())
li = list(map(int, input().split()))
M = int(input())
print(binarySearch(li, M))
728x90
반응형
'Agorithm > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 7795번 먹을 것인가 먹힐 것인가(python) (4) | 2021.02.01 |
---|---|
백준 알고리즘 10757번 큰 수 A+B(python) (0) | 2021.02.01 |
백준 알고리즘 2805번 나무 자르기(python) (0) | 2021.01.31 |
백준 알고리즘 1920번 수 찾기(python) (0) | 2021.01.31 |
백준 알고리즘 13305번 주유소(python) (0) | 2021.01.31 |