반응형
백준 2512번 예산
파이썬 풀이
import sys
input = sys.stdin.readline
N = int(input())
cities = list(map(int, input().split()))
budgets = int(input()) # 예산
start, end = 0, max(cities) # 시작 점, 끝 점
# 이분 탐색
while start <= end:
mid = (start+end) // 2
total = 0 # 총 지출 양
for i in cities:
if i > mid:
total += mid
else:
total += i
if total <= budgets: # 지출 양이 예산 보다 작으면
start = mid + 1
else: # 지출 양이 예산 보다 크면
end = mid - 1
print(end)
반응형
'Python > 백준' 카테고리의 다른 글
[백준 파이썬] 2667번 단지번호붙이기 (0) | 2021.05.04 |
---|---|
[백준 파이썬] 2178번 미로 탐색 (0) | 2021.05.03 |
[백준 파이썬] 2805번 나무 자르기 (0) | 2021.05.02 |
[백준 파이썬] 17219번 비밀번호 찾기 (0) | 2021.05.01 |
[백준 파이썬] 2751번 수 정렬하기 2 (0) | 2021.04.29 |