Create 1312_hzq.cpp

pull/45/head
Kirigaya Kazuto 2016-09-22 13:34:48 +08:00 committed by GitHub
parent 55ad134c3e
commit 24ca18248c
1 changed files with 25 additions and 0 deletions

25
VIJOS/1312_hzq.cpp Normal file
View File

@ -0,0 +1,25 @@
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
using namespace std;
const int N = 105;
const int M = N << 1;
int n,res = 0,head[M],f[M][M] = {0};
int main()
{
scanf("%d",&n);
for(int i = 1;i <= n;i++)
{
scanf("%d",&head[i]);
head[n + i] = head[i];
}
for(int p = 1;p < n;p++)
for(int i = 1;i < ((n << 1) - 1);i++)
for(int j = min(i + p,(n << 1) - 1),k = i;k < j;k++)
f[i][j] = max(f[i][j],f[i][k] + f[k + 1][j] + head[i] * head[k + 1] * head[j + 1]);
for(int i = 1;i <=n;i++)
res = max(res,f[i][n + i - 1]);
printf("%d\n",res);
return 0;
}