#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N =210;
int a[N];
int dp[N][N];
int main(){
int n;
while(scanf("%d",&n)!=EOF){
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
a[i+n]=a[i];
}
int x;
memset(dp,0,sizeof(dp));
for(int i=1;i<=n-1;i++){
for(int j=0;j<2*n&&(j+i+1<2*n);j++){
//printf("i=%d j=%d \n",i,j);
for(int h=j+1;h<j+i+1;h++){
//printf("h=%d ",h);
//printf("dp[%d][%d]=%d dp[%d][%d]=%d ",j,h,dp[j][h],h,j+i+1,dp[h][j+i+1]);
dp[j][j+i+1]=max(dp[j][j+i+1],dp[j][h]+dp[h][j+i+1]+a[h]*a[j]*a[j+i+1]);
//printf("dp[%d][%d]=%d a[%d]=%d a[%d]=%d a[%d]=%d \n",j,j+i+1,dp[j][j+i+1],j,a[j],h,a[h],j+i+1,a[j+i+1]);
}
}
}
int maxn=0;
for(int i=0;i<n;i++){
maxn=max(maxn,dp[i][i+n]);
}
printf("%d\n",maxn);
}
return 0;
}
水题,但是这题的数据有问题,坑死了,第9组数据多了一个输入,特殊处理下就过了,在其他oj上过了,没问题的。
Tyvj 1056 能量项链 dp
最新推荐文章于 2019-04-24 19:55:00 发布