-Code
n = int(input())
parts = list(map(int, input().split()))
total_max = int(input())
start, end = 0, total_max
if sum(parts) <= total_max:
print(max(parts))
else:
while start <= end:
mid = (start + end) // 2
total = 0
for i in parts:
if mid < i:
total += mid
else:
total += i
if total <= total_max:
start = mid + 1
else:
end = mid - 1
print(end)
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[백준/파이썬] 7795번 먹을 것인가 먹힐 것인가 (0) | 2022.05.06 |
---|---|
[백준/파이썬] 11663번 선분 위의 점 (0) | 2022.05.06 |
[백준/파이썬] 2417번 정수 제곱근 (0) | 2022.05.06 |
[백준/파이썬] 1789번 수들의 합 (0) | 2022.05.05 |
[백준/파이썬] 5568번 카드 놓기 (0) | 2022.05.05 |