728x90
반응형
이분 탐색 문제이다.
def count(li, m):
t = 0
for n in li:
if n >= m:
break
t += m-n
return t
N, K = map(int, input().split())
li = sorted([int(input()) for _ in range(N)])
s, e = min(li), max(li)+K
res = 0
while s <= e:
m = (s+e)//2
if count(li, m) <= K:
res = m
s = m+1
else:
e = m-1
print(res)
728x90
반응형
'Agorithm > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 14490번 백대열(python) (0) | 2021.02.28 |
---|---|
백준 알고리즘 17245번 서버실(python) (0) | 2021.02.28 |
백준 알고리즘 16401번 과자 나눠주기(python) (0) | 2021.02.28 |
백준 알고리즘 19637번 IF문 좀 대신 써줘(python) (0) | 2021.02.28 |
백준 알고리즘 1166번 선물(python) (2) | 2021.02.28 |