본문 바로가기
PS/백준

[테스트케이스 추가] 백준 2512번: 예산 python, 파이썬

by 지기_ 2021. 7. 20.
반응형

1. 문제

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

 

2512번: 예산

첫째 줄에는 지방의 수를 의미하는 정수 N이 주어진다. N은 3 이상 10,000 이하이다. 다음 줄에는 각 지방의 예산요청을 표현하는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 값들은 모두 1 이상

www.acmicpc.net

 

 

2. 풀이

binary search

 

 

3. 구현

import sys
# sys.stdin = open('input.txt')

n = int(sys.stdin.readline())
lis = list(map(int, sys.stdin.readline().split()))
m = int(sys.stdin.readline())

le=0
ri=max(lis)
sum=0
while le<=ri:
    mid = (le+ri)//2
    sum=0
    for item in lis:
        sum +=min(item, mid)
    if sum>m:
        ri=mid-1
    else:
        le=mid+1
# print(sum)
print(ri)

 

 

 

4. 테스트케이스 추가

8
110 150 74 112 54 144 56 112
480

답: 61

 

6
77 89 61 118 91 142
120

답: 20

반응형

댓글