728x90
반응형
1. 문제 설명
2. 풀이
N, M = map(int, input().split(' '))
arr = list(map(int, input().split(' ')))
arr = sorted(arr)
high = arr[-1]
low = 0
def summation(arr, cut):
res = 0
for tree in arr:
if cut > tree:
continue
res += tree-cut
return res
while True:
mid = (low+high)//2
res = summation(arr, mid)
if res == M:
print(mid)
exit()
if high-1 <= low:
break
elif res > M:
low = mid
else:
high = mid
print(mid)
728x90
반응형
'Study > Algorithm & Data structure' 카테고리의 다른 글
[프로그래머스][DP] 등굣길 python (201002) (0) | 2020.10.03 |
---|---|
[프로그래머스] 없어진 기록 찾기 SQL - 200930 (0) | 2020.09.30 |
[백준][binary search] 랜선 자르기 python (200928) (0) | 2020.09.28 |
[백준][DP] 1946번 신입 사원 python (200926) (0) | 2020.09.26 |
[백준][DP] 11726번 2*N 타일링 python (200924) (0) | 2020.09.25 |
댓글