[백준 2512] 예산

Junyoung Park·2022년 3월 24일
0

코딩테스트

목록 보기
312/631
post-thumbnail

1. 문제 설명

예산

2. 문제 분석

이분 탐색.

3. 나의 풀이

import sys

n = int(sys.stdin.readline().rstrip())
budgets = list(map(int, sys.stdin.readline().rstrip().split()))
budgets.sort()
m = int(sys.stdin.readline().rstrip())

left, right = 0, budgets[n-1]
ans = 0
while left <= right:
    mid = (left + right) // 2

    total = 0
    for i in range(n):
        total += min(budgets[i], mid)

    if total > m:
        right = mid - 1
    else:
        left = mid + 1

print(right)
profile
JUST DO IT

0개의 댓글