적정 값을 찾는 이분탐색.
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)
'practivceAlgorithm > 백준' 카테고리의 다른 글
[백준][Python] 9655 돌게임 (0) | 2021.09.10 |
---|---|
[백준][Python] 6568 귀도 반 로썸은 크리스마스날 심심하다고 파이썬을 만들었다. (0) | 2021.09.10 |
[백준][Python] 1507 궁금한 민호 (0) | 2021.09.08 |
[백준][Python] 16202 MST게임 (0) | 2021.09.08 |
[백준][Python] 5568 카드놓기 (0) | 2021.09.08 |