from collections import Counter
import sys
def solution(arr, middle):
result = 0
for each, cnt in arr.items():
if each > middle:
result += (each - middle) * cnt
if result >= M:
break
return result
N, M = map(int, sys.stdin.readline().split())
my_arr = Counter(map(int, sys.stdin.readline().split()))
start, end = 0, max(my_arr)
while start <= end:
my_middle = (start + end) // 2
if solution(my_arr, my_middle) >= M:
start = my_middle + 1
else:
end = my_middle - 1
print(end)
'파이썬 코테 준비' 카테고리의 다른 글
[백준 12015] 가장 긴 증가하는 부분 수열 2 - Python(파이썬) (0) | 2021.03.09 |
---|---|
[백준 1300] K번째 수 - Python(파이썬) (0) | 2021.03.09 |
[백준 7576] 토마토 - Python(파이썬) (0) | 2021.03.09 |
[백준 1012] 유기농 배추 - Python(파이썬) (0) | 2021.03.09 |
[백준 2606] 바이러스 - Python(파이썬) (0) | 2021.03.09 |
댓글