#include <bits/stdc++.h>
#define int long long
#define f first
#define s second
using namespace std;
const int N=2009,inf=1e18;
pair <int,int> ar[N];
int n,dp[N][N];
int f(int p,int x){
    if(p<x or x<0)return -inf;
    if(p==0)return 0;
    if(dp[p][x]!=-1)return dp[p][x];
    int r=max(ar[p].f*abs(ar[p].s-x)+f(p-1,x-1),ar[p].f*abs(ar[p].s-(n+1-p+x))+f(p-1,x));
    return dp[p][x]=r;
}
int32_t main(){
    ios::sync_with_stdio(0),cin.tie(0);
    cin >> n;
    for(int i=1;i<=n;i++){
        cin >> ar[i].f;
        ar[i].s=i;
    }
    sort(ar+1,ar+n+1);
    reverse(ar+1,ar+n+1);
    memset(dp,-1,sizeof dp);
    int ans=0;
    for(int i=1;i<=n;i++)
        ans=max(ans,f(n,i));
    cout << ans;
}