Skip to content

Commit 6dfcedf

Browse files
authored
[20260318] BOJ / G3 / 파일 합치기 / 이준희
[20260318] BOJ / G3 / 파일 합치기 / 이준희
2 parents 99110f0 + 27c0961 commit 6dfcedf

1 file changed

Lines changed: 36 additions & 0 deletions

File tree

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
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+
int T = Integer.parseInt(br.readLine());
9+
10+
for (int t = 0; t < T; t++) {
11+
int K = Integer.parseInt(br.readLine());
12+
int[] files = new int[K + 1];
13+
int[] sum = new int[K + 1];
14+
int[][] dp = new int[K + 1][K + 1];
15+
16+
StringTokenizer st = new StringTokenizer(br.readLine());
17+
for (int i = 1; i <= K; i++) {
18+
files[i] = Integer.parseInt(st.nextToken());
19+
sum[i] = sum[i - 1] + files[i];
20+
}
21+
22+
for (int d = 1; d < K; d++) {
23+
for (int i = 1; i + d <= K; i++) {
24+
int j = i + d;
25+
dp[i][j] = Integer.MAX_VALUE;
26+
27+
for (int k = i; k < j; k++) {
28+
dp[i][j] = Math.min(dp[i][j], dp[i][k] + dp[k + 1][j] + (sum[j] - sum[i - 1]));
29+
}
30+
}
31+
}
32+
System.out.println(dp[1][K]);
33+
}
34+
}
35+
}
36+
```

0 commit comments

Comments
 (0)