File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 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+ ```
You can’t perform that action at this time.
0 commit comments