为什么会WA

以后再说

未来的我!!一定能解决!!!

(后天之前!!)

存档!!

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int n, max1, min1 = 9999999;
 4 int dp_max[250][250], dp_min[250][250], sum[250];
 5 int a[300];
 6 int main(){
 7     cin >> n;
 8     for(int i=1;i<=n;i++){
 9         cin >> a[i];
10         a[i+n]=a[i]; 
11     }
12     for (int i = 1; i <= 2 * n;i++)
13         sum[i] = sum[i - 1] + a[i];
14 
15     for (int i = 1; i <= 2 * n-1;i++)
16         for (int j = i + 1; j <= 2 * n;j++){    
17             if(i==j)
18                 dp_min[i][j] = 0;
19             else
20                 dp_min[i][j] = 999999;
21                 
22             for (int k = i; k <= j-1;k++){
23                dp_min[i][j] = min(dp_min[i][j], dp_min[i][k] + dp_min[k + 1][j]+sum[j]-sum[i-1]);
24                dp_max[i][j] = max(dp_max[i][j], dp_max[i][k] + dp_max[k + 1][j]+sum[j]-sum[i-1]);
25             } 
26         }
27     for (int i = 1; i <= n;i++){
28         min1 = min(min1, dp_min[i][i + n-1]);
29         max1 = max(max1, dp_max[i][i + n-1]);
30     }
31     cout << min1 << endl;
32     cout << max1;
33     system("pause");
34     return 0;  
35 }

猜你喜欢

转载自www.cnblogs.com/guaguastandup/p/10522207.html