您不能用`using namespace std;`吗
by andyli @ 2019-01-11 22:40:20
您既不scanf也不printf为什么要cstdio呢
by SSerxhs @ 2019-01-11 22:59:43
@[杨亦诚斗橡皮](/space/show?uid=66287) 看着`std::`就蛋疼... 真想装×`using std::cin;` `using std::cout;`啊
by Rbu_nas @ 2019-01-11 23:13:12
```
for (int i=1; i<=2*n-1; ++i)
dp[i][i]=0;
```
这句有意义吗?
by Qiuly @ 2019-01-12 07:32:48
@[Qiuly](/space/show?uid=113190)
当我没说
by Qiuly @ 2019-01-12 07:33:52
给你个正解自检下呗
```cpp
#define LL long long
#define mod 1000000007
#define inf 0x7ffffff
const int MAXN=200+5;
int head[MAXN],tail[MAXN],f[MAXN][MAXN];
using namespace std;
int main()
{
int n,ans=-inf;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{scanf("%d",&head[i]);head[i+n]=head[i];}
for(int i=1;i<=2*n-1;i++)
tail[i]=head[i+1];tail[2*n]=head[1];
for(int i=1;i<=2*n-1;i++)f[i][i]=0;
for(int l=1;l<=n-1;l++)
for(int i=1;i<=2*n-l;i++)
{
int j=i+l;
for(int k=i;k<=j-1;k++)
f[i][j]=max(f[i][j],f[i][k]+f[k+1][j]+head[i]*tail[k]*tail[j]);
}
for(int i=1;i<=n;i++)
ans=max(ans,f[i][i+n-1]);
printf("%d",ans);
return 0;
}
```
by Qiuly @ 2019-01-12 07:34:31
嗯,你可能没记tali数组然后**WA**了
by Qiuly @ 2019-01-12 07:35:32
@[SSerxhs](/space/show?uid=29826) 好习惯,考场上防止漏写(我讨厌万能头)
by 樱初音斗橡皮 @ 2019-01-12 08:23:06
@[Qiuly](/space/show?uid=113190) 窝的tail直接head下标+1,仔细看,我其实triple了head
by 樱初音斗橡皮 @ 2019-01-12 08:27:26
```cpp
tail[2*n]=head[1];
```
by Qiuly @ 2019-01-12 09:22:00