比赛 EYOI常规赛 2nd 评测结果 AAAAAAAAAA
题目名称 特殊津贴 最终得分 100
用户昵称 yrtiop 运行时间 0.054 s
代码语言 C++ 内存使用 1.23 MiB
提交时间 2021-12-22 18:55:16
显示代码纯文本
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int maxn = 2005;
typedef long long ll;
ll f[maxn],a[maxn];
int n;
int main() {
    freopen("treats.in","r",stdin);
    freopen("treats.out","w",stdout);
    scanf("%d",&n);
    for(int i = 1;i <= n;++ i)scanf("%lld",&a[i]);
    ll ans = 0;
    for(int i = 1;i <= n;++ i) {
        for(int j = i;~ j;-- j) {
            ll x = 0,y = 0;
            if(j)x = f[j - 1] + 1ll * a[j] * i;
            if(j < i)y = f[j] + 1ll * a[n - i + j + 1] * i;
            f[j] = max(x , y);
        }
    }
    for(int i = 0;i <= n;++ i)ans = max(ans , f[i]);
    printf("%lld",ans);
    fclose(stdin);
    fclose(stdout);
    return 0;
}