马应该不是很疯
#include<bits/stdc++.h>
#define ll long long
using namespace std;
template<typename T> void re(T&x){
x = 0; char c; int sign = 1;
do{c = getchar(); if (c == '-') sign = -1;}while(!isdigit(c));
do{x = x * 10 + c - '0'; c = getchar();}while(isdigit(c));
x *= sign;
}
const int N = 3e3 + 1000;
int n;
ll v[N];
ll f[N][N];
int main(){
re(n);
for (int i = 1; i <= n; i ++){
re(v[i]); f[i][i] = v[i] * n;
}
for (int i = n; i >= 1; i --){
for (int j = i + 1; j <= n; j ++){
f[i][j] = max(f[i + 1][j] + i * v[i], f[i][j - 1] + i * v[j]);
}
}
printf("%lld", f[1][n]);
return 0;
}