import sys
input = sys.stdin.readline
N, M = map(int, input().split())
arr = []
for _ in range(N):
arr.append(int(input()))
start = max(arr)
end = sum(arr)
while start <= end:
mid = (start+end) // 2
now = mid
cnt = 1
for i in arr:
if now < i:
now = mid
cnt += 1
now -= i
if cnt > M:
start = mid + 1
else:
end = mid - 1
ans = mid
print(ans)
인출할 때 돈의 액수에 대해 이분 탐색을 수행하면 된다.
처음에 인출한 상태에서 시작하기 때문에 처음 cnt는 1로 설정한다.