#include <bits/stdc++.h>
using namespace std;
int main() {
  int N;
  cin >> N;
  vector<int> A(N, 0);
  vector<int> index(N, 0);
  for (int i = 0; i < N; i++) {
    cin >> A[i];
    index[i] = i;
  }
  vector<int> B(N, 0);
  B = A;
  for (int i = 0; i < N; i++) {
    for (int j = i; j > 0; j--) {
      if (B[j - 1] < B[j]) {
        swap(B[j - 1], B[j]);
        swap(index[j - 1], index[j]);
      }
    }
  }
  long dp[N + 1][N + 1];
  for (int i = 0; i < N + 1; i++) {
    dp[i][0] = 0;
  }
  int i, r;
  long a;
  long L, R;
  for (int s = 0; s < N; s++) {
    i = index[s];
    a = A[i];
    for (int l = s; l >= 0; l--) {
      r = s - l;
      L = dp[l][r] + a * abs(i - l);
      R = dp[l][r] + a * abs(N - 1 - r - i);
      if (dp[l + 1][r] < L) {
        dp[l + 1][r] = L;
      }
      dp[l][r + 1] = R;
      for (int i = 0; i < N + 1; i++) {
        for (int j = 0; j < N + 1 - i; j++) {
          cout << dp[i][j] << " ";
        }
        cout << endl;
      }
    }
  }
  long ans = 0;
  for (int i = 0; i < N + 1; i++) {
    ans = max(ans, dp[N - i][i]);
  }
  cout << ans << endl;
}
