practivceAlgorithm/백준

[백준][Python] 17951 흩날리는 시험지속에서 내 평점이 느껴진거야

findTheValue 2021. 9. 8. 21:43

적정 값을 찾는 이분탐색.

 

import sys
input = sys.stdin.readline

def is_possible(target):
    cnt = 0
    sum_n = 0
    for score in scores:
        sum_n += score
        if sum_n >= target:
            cnt += 1
            sum_n = 0
    if cnt >= K:
        return True
    return False

N, K = map(int, input().split())
scores = list(map(int, input().split()))

left, right = 0, int(2e6)
max_score = 0
while left <= right:
    mid = (left + right)//2
    if is_possible(mid):
        left = mid + 1
        max_score = mid
    else:
        right = mid - 1
print(max_score)