1 条题解
-
0
#include<bits/stdc++.h> using namespace std; long long T,n,a[205],dp[105][105],sum[105]; int main(){ cin>>T; for(int ncase=1;ncase<=T;ncase++){ cin>>n; memset(sum,0,sizeof(sum)); for(int i=1;i<=n;++i){ cin>>a[i]; sum[i]=a[i]+sum[i-1]; } for(int len=1;len<=n;len++){ for(int i=1;i+len-1<=n;i++){ int j=i+len-1; dp[i][j]=sum[j]-sum[i-1]; for(int k=i;k<j;k++){ long long t=max(sum[k]-sum[i-1]-dp[k+1][j],sum[j]-sum[k]-dp[i][k]); dp[i][j]=max(dp[i][j],t); } } } cout<<"Case "<<ncase<<": "<<dp[1][n]<<endl; } return 0; }
- 1
信息
- ID
- 2798
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- 递交数
- 94
- 已通过
- 18
- 上传者