[백준] 2805번 나무 자르기
데이터 값이 너무 많아서 이진 탐색으로 풀어야했던 문제
최댓값인데 min으로 써서 오류가 났다.
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))
Author And Source
이 문제에 관하여([백준] 2805번 나무 자르기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@code12/백준-2805번-나무-자르기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)