백준 6236번 용돈 관리

DARTZ·2022년 5월 16일
0

알고리즘

목록 보기
60/135
import sys
sys.stdin = open('input.txt', 'rt')
input = sys.stdin.readline

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

money = []

for _ in range(N):
    money.append(int(input()))

start = max(money)
end = sum(money)
answer = 0

while start <= end:
    middle = (start + end) // 2
    count = 1
    temp = 0

    for m in money:
        temp += m
        if temp > middle:
            count += 1
            temp = m

    if count > M:
        start = middle + 1

    else:
        end = middle - 1
        answer = middle

print(answer)
profile
사람들이 비용을 지불하고 사용할 만큼 가치를 주는 서비스를 만들고 싶습니다.

0개의 댓글