142.木を切る
3668 ワード
白駿
1. Python
n, m = list(map(int, input().split('')))
array = list(map(int, input().split()))
start = 0
end = max(array)
result = 0
while(start <= end):
total = 0
mid = (start + end) // 2
for x in array:
#잘랐을 때 나무의 양 계산
if x > mid:
total += x - mid
#나무의 양이 부족한 경우 더 많이 자르기 (왼쪽 탐색)
if total < m:
end = mid - 1
#나무의 양이 충분한 경우 덜 자르기(오른쪽 탐색)
else:
result = mid #최대한 덜 잘랐을 때가 정답이므로, 여기에서 result 기록
start = mid + 1
print(result)
Reference
この問題について(142.木を切る), 我々は、より多くの情報をここで見つけました https://velog.io/@corone_hi/142.-나무-자르기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol