반응형
문제
예제
소스코드
시간 : 4292ms
n, m = map(int, input().split(' '))
arr = list(map(int, input().split(' ')))
arr.sort()
start = 1
end = max(arr)
result = 0
while (start <= end) :
length = 0
mid = (start + end) // 2
for x in arr :
if x > mid :
length += x - mid
if length == m :
result = mid
break
elif length > m :
result = mid
start = mid + 1
else :
end = mid - 1
print(result)
반응형
'004 컴퓨터과학 > 알고리즘' 카테고리의 다른 글
[백준 온라인저지] 14425. 문자열 집합 (0) | 2023.06.06 |
---|---|
[백준 온라인저지] 1764. 듣보잡 (0) | 2023.06.06 |
[백준 온라인저지] 이진 탐색 / 10816. 숫자 카드 2 (0) | 2023.06.06 |
[백준 온라인저지] 1157. 단어 공부 (0) | 2023.06.04 |
[백준 온라인저지] 그리디 알고리즘 / 5585. 거스름돈 (0) | 2023.06.04 |
댓글