less than 1 minute read

문제링크

이분탐색 활용

값 입력받은 후, start, end, mid 으로 탐색

파이썬


import sys
input = sys.stdin.readline

n = int(input())
lis = list(map(int,input().split()))
m = int(input())
start,end = 0, max(lis)

while start <= end:
    mid = (start+end) // 2
    res = 0
    for i in lis:
        if i > mid:
            res += mid
        else:
            res+=i
    if res <= m:
        start = mid+1
    else:
        end = mid-1
print (end)


    




카테고리:

업데이트:

댓글남기기