import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int M = sc.nextInt();
int[] arr = new int[N];
int start = 0;
int end = 0;
for (int i = 0; i < N; i++) {
arr[i] = sc.nextInt();
if (start < arr[i]) start = arr[i];
end += arr[i];
}
while (start <= end) {
int middle = (start + end) / 2;
int sum = 0;
int count = 0;
for (int i = 0; i < arr.length; i++) {
if (sum + arr[i] > middle) {
count++;
sum = 0;
}
sum += arr[i];
}
if (sum != 0) count++;
if (count > M)
start = middle + 1;
else end = middle - 1;
}
System.out.println(start);
}
}
'Coding Test > 백준' 카테고리의 다른 글
[백준/자바] 11047 - 동전 0 (0) | 2023.08.08 |
---|---|
[백준/자바] 1300 - K번째 수 (0) | 2023.08.07 |
[백준/자바] 1316 - 그룹 단어 체커 (0) | 2023.08.07 |
[백준/자바] 10814 - 나이순 정렬 (0) | 2023.08.07 |
[백준/자바] 1167 - 트리의 지름 (0) | 2023.08.07 |