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

#define int long long
int dp[2234][2234];//dp[i][j]:i+1番目で左がj埋まってる
const long long LINF=1e18;
template<typename T>
void chmax(T &a,T b){
  if(a<b)a=b;
}
typedef pair<int,int> P;
#define fi first
#define se second

signed main(){
  int n;cin>>n;
  vector<P> v(n);
  for(int i=0;i<n;i++){
    int a;cin>>a;
    v[i]=P(a,i);
  }
  sort(v.rbegin(),v.rend());
  for(int i=0;i<n;i++){
    for(int j=0;j<=i+1;j++){
      if(j)chmax(dp[i+1][j],dp[i][j-1]+v[i].fi*abs(v[i].se-(j-1)));
      if(j<=i)chmax(dp[i+1][j],dp[i][j]+v[i].fi*abs(v[i].se-(n-1-(i-j))));
    }
  }
  int ans=0;
  for(int j=0;j<=n;j++)chmax(ans,dp[n][j]);
  cout<<ans<<endl;
}
