• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

답이 계속 16이 나와서 질문드립니다...

22.07.08 19:54 작성 조회수 165

0

안녕하세요 교수님 강의 잘 보고 있습니다. 다름이 아니라 해주신대로 혼자 해보았는데 계속 답이 16이 나와요 ㅠㅠ 강의랑 비교해서 다른 곳을 못찾겠는데 어디가 잘못된걸까요? ㅠㅠ

import sys
from tempfile import tempdir
sys.stdin = open("input.txt","rt")

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

lt = 1
rt = sum(li)


def Count(capa):
    cd = 1
    sum = 0

    for x in li:
        if sum + x > capa:
            cd += 1
            sum = x
        else:
            sum += x
    return cd

while lt <= rt:
    mid = (lt + rt) // 2
  

    if Count(mid) <= m :
        res = mid
        rt = mid -1
    else:
        lt = mid + 1

print(mid)

 

답변 1

답변을 작성해보세요.

0

사막여우님의 프로필

사막여우

2022.07.14

제가 교수님은 아니지만.. ! 출력값이 mid으로 되어 있어서 16이 나오는 거 같습니다. res로 바꾸시면 될 거 같아요 :)