하루일문
[백준] 2512번 예산(python) 본문
문제
2512번: 예산
첫째 줄에는 지방의 수를 의미하는 정수 N이 주어진다. N은 3 이상 10,000 이하이다. 다음 줄에는 각 지방의 예산요청을 표현하는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 값들은 모두 1 이상
www.acmicpc.net
코드
import sys
input = sys.stdin.readline
n = int(input())
tax = list(map(int, input().split()))
limit = int(input())
start, end = 0, max(tax)
while start <= end:
total_tax = 0
mid = (start + end) // 2
# 상한선을 mid로 하고 mid보다 큰수를 제한해준다
for i in tax:
total_tax += min(mid, i)
# total_tax가 예산보다 클거나 같다면 경우는 start를 줄여서 mid 값을 늘여준다
if limit >= total_tax:
start = mid + 1
# 예산보다 작을경우 end를 줄여서 mid값을 줄여준다.
else:
end = mid -1
print(end)
'algorithm > baekjoon' 카테고리의 다른 글
[백준] 12738번 가장 긴 증가하는 부분 수열 3(파이썬) (0) | 2023.04.24 |
---|---|
[백준] 1920번 수 찾기(파이썬) (3) | 2023.04.23 |
[백준] 2776번 암기왕(python) (0) | 2023.04.20 |
[백준] 1003번 피보나치 함수(파이썬) (0) | 2023.04.19 |
[백준] 2156번 포도주(파이썬) (0) | 2023.04.18 |