Skip to content

Commit 5e64e61

Browse files
authored
Merge pull request #1351 from AlgorithmWithGod/JHLEE325
[20251108] BOJ / G5 / 기타 레슨 / 이준희
2 parents 84f73af + 603a4a9 commit 5e64e61

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
```java
2+
import java.io.*;
3+
import java.util.*;
4+
5+
public class Main {
6+
public static void main(String[] args) throws IOException {
7+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
8+
StringTokenizer st = new StringTokenizer(br.readLine());
9+
int N = Integer.parseInt(st.nextToken());
10+
int M = Integer.parseInt(st.nextToken());
11+
12+
int[] lectures = new int[N];
13+
long sum = 0;
14+
int maxLen = 0;
15+
16+
st = new StringTokenizer(br.readLine());
17+
for (int i = 0; i < N; i++) {
18+
lectures[i] = Integer.parseInt(st.nextToken());
19+
sum += lectures[i];
20+
if (lectures[i] > maxLen) {
21+
maxLen = lectures[i];
22+
}
23+
}
24+
25+
long low = maxLen;
26+
long high = sum;
27+
long answer = sum;
28+
29+
while (low <= high) {
30+
long mid = (low + high) / 2;
31+
32+
int cnt = 1;
33+
long cur = 0;
34+
for (int i = 0; i < N; i++) {
35+
if (cur + lectures[i] > mid) {
36+
cnt++;
37+
cur = lectures[i];
38+
} else {
39+
cur += lectures[i];
40+
}
41+
}
42+
43+
if (cnt > M) {
44+
low = mid + 1;
45+
} else {
46+
answer = mid;
47+
high = mid - 1;
48+
}
49+
}
50+
51+
System.out.println(answer);
52+
}
53+
}
54+
```

0 commit comments

Comments
 (0)