-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path11066.cpp
More file actions
31 lines (26 loc) · 733 Bytes
/
11066.cpp
File metadata and controls
31 lines (26 loc) · 733 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <bits/stdc++.h>
using namespace std;
int dp[501][501], sum[501], file[501];
int main(void) {
ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
int T;
cin >> T;
while(T--){
int num;
cin >> num;
for(int i = 1; i <= num; i++){
cin >> file[i];
sum[i] = sum[i-1] + file[i];
}
for(int i = 1; i <= num; i++){
for(int j = 1; j <= num - i; j++){
dp[j][i+j] = INT_MAX;
for(int k = j; k < i + j; k++){
dp[j][i+j] = min(dp[j][i+j], dp[j][k] + dp[k+1][i+j] + sum[i+j] - sum[j-1]);
}
}
}
cout << dp[1][num] << '\n';
}
return 0;
}