[백준] 17245번 서버실 (파이썬)

전민기·2023년 5월 9일
0

https://www.acmicpc.net/problem/17245

n = int(input())
arr = []
for _ in range(n):
    arr += list(map(int, input().split()))
    
target = sum(arr) / 2
start = 1
end = max(arr)

result = 0
while start <= end:
    mid = (start+end)//2
    
    cnt = 0
    for i in arr:
        if i < mid:
            cnt += i
        else:
            cnt += mid
                
    if cnt < target:
        start = mid+1
    else:
        result = mid
        end = mid-1
        
print(result)

0개의 댓글