[白俊]2805番木を切る
データ値が大きすぎて、バイナリナビゲーションで解決する必要がある問題
一番高いのが一番小さいので、間違えました.
一番高いのが一番小さいので、間違えました.
n,m=map(int,input().split())
tree=list(map(int,input().split()))
def binary_search(array,target,start,end):
global answer
if start>end:
print(answer)
return
mid=(start+end)//2
sum=0
for x in tree:
if x-mid>0:
sum+=x-mid
if sum==target:
print(mid)
return
elif sum>target:
answer=max(answer,mid)
return binary_search(array,target,mid+1,end)
elif sum<target:
return binary_search(array,target,start,mid-1)
answer=0
binary_search(tree,m,0,max(tree))
Reference
この問題について([白俊]2805番木を切る), 我々は、より多くの情報をここで見つけました https://velog.io/@code12/백준-2805번-나무-자르기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol