728x90
반응형
이분 탐색 문제이다.
def count(li, m):
t = cnt = 0
for n in li:
if t+n > m:
t = n
cnt += 1
else:
t += n
return cnt+1
N, M = map(int, input().split())
li = [int(input()) for _ in range(N)]
s, e = max(li), sum(li)
res = 0
while s <= e:
m = (s+e)//2
if count(li, m) <= M:
res = m
e = m-1
else:
s = m+1
print(res)
728x90
반응형
'Agorithm > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 15829번 Hashing(python) (0) | 2021.02.26 |
---|---|
백준 알고리즘 13702번 이상한 술집(python) (0) | 2021.02.26 |
백준 알고리즘 3079번 입국심사(python) (0) | 2021.02.26 |
백준 알고리즘 2776번 암기왕(python) (2) | 2021.02.26 |
백준 알고리즘 2428번 표절(python) (2) | 2021.02.26 |