#include <bits/stdc++.h>
using namespace std;

void chmax(int64_t& a, int64_t b){
    a = max(a, b);
}

int main(){
    int N;
    cin >> N;
    vector<int64_t> A(N);
    for(int i=0; i<N; i++) cin >> A[i];
    vector<int> order;
    for(int i=0; i<N; i++) order.push_back(i);
    sort(order.begin(), order.end(), [&](int i, int j){ return A[i] > A[j]; });

    static int64_t dp[2001][2001];
    for(int i=0; i<N; i++) for(int j=0; i+j<N; j++){
        int pos = order[i+j];
        chmax(dp[i+1][j], dp[i][j] + A[pos]*abs(pos - i));
        chmax(dp[i][j+1], dp[i][j] + A[pos]*abs(pos - (N-1-j)));
    }
    int64_t ans = 0;
    for(int i=0; i<=N; i++) chmax(ans, dp[i][N-i]);
    cout << ans << endl;
    return 0;
}
