백준 2512 예산

gmlwlswldbs·2022년 1월 15일
0

코딩테스트

목록 보기
115/130
n = int(input())
request = list(map(int, input().split()))
m = int(input())

l = 0
r = max(request)
ans = 0


while l <= r:
    mid = (l + r)//2
    tmp = 0
    for i in request:
        if i < mid:
            tmp += i
        else:
            tmp += mid
    if tmp <= m:
        l = mid + 1
        ans = mid
    else:
        r = mid - 1
print(ans)

이분탐색을 이용해 해결

0개의 댓글