• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

뮤직비디오

22.09.11 01:20 작성 조회수 208

0

import sys
sys.stdin = open('input.txt', 'r')

n,m = map(int, input().split())
lives = list(map(int, input().split()))

s = sum(lives)//m
e = sum(lives)

while s <= e:
    mid = (s+e)//2
    cnt = 1
    for live in lives:
        if live <= mid:
            mid -= live
        else:
            cnt += 1
            mid = (s+e)//2
            
    if cnt <= m:
        ans = mid
        e = mid-1
    else:
        s = mid+1

print(ans)

이렇게 하면 왜 답이 자꾸 15라고 나오는지 모르겠습니다. 어느 부분이 잘못된 걸까요?

답변 1

답변을 작성해보세요.

0

안녕하세요^^

제가 드린 정답코드와 비교하면서 스스로 디버그해보세요. 이것도 중요한 공부입니다.