BOJ - 2343

주의·2024년 1월 26일
0

boj

목록 보기
119/214

백준 문제 링크
기타 레슨

❓접근법

아래 그림을 참고하면 된다.

이 과정으로 블루레이의 최솟값은 17임을 알 수 있다.

👌🏻코드

N, M = map(int,input().split())

array = list(map(int,input().split()))

start = max(array) # 블루레이 최소 크기
end = sum(array) # 블루레이 최대 크기

answer = 0
while start <= end:
    mid = (start + end) // 2
    
    total = 0
    cnt = 1
    
    for i in array:
        if total + i > mid: 
            cnt += 1
            total = 0
        
        total += i
        
    if cnt <= M:
        answer = mid
        end = mid - 1
    
    else:
        start = mid + 1
        
print(start)

0개의 댓글