比赛 |
EYOI常规赛 2nd |
评测结果 |
AAAAAAAAAA |
题目名称 |
特殊津贴 |
最终得分 |
100 |
用户昵称 |
ZRQ |
运行时间 |
0.202 s |
代码语言 |
C++ |
内存使用 |
14.75 MiB |
提交时间 |
2021-12-16 19:18:37 |
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
int n,f[2005][2005];
char ch;
inline void read(int &x){x=0;ch=getchar();while(ch<48||ch>57) ch=getchar();while(ch>47&&ch<58) x=(x<<3)+(x<<1)+(ch^48),ch=getchar();}
int main()
{
freopen("treats.in","r",stdin); freopen("treats.out","w",stdout);
read(n);
for(int i=1;i<=n;++i) read(f[i][i-1]),f[i][i]=f[i][i-1]*n;
for(int i=1;i<n;++i) for(int j=1;j<=n-i;++j) f[j][j+i]=max(f[j][j+i],max(f[j][j+i-1]+f[j+i][j+i-1]*(n-i),f[j+1][j+i]+f[j][j-1]*(n-i)));
printf("%d\n",f[1][n]);
return 0;
}