#include <bits/stdc++.h>
using namespace std;
int main() {
  int i, j, k, N;
  cin >> N;
  vector<pair<int, int>> A(N);
  for (i = 0; i < N; i++) {
    cin >> A.at(i).first;
    A.at(i).second = i;
  }
  sort(A.begin(), A.end(), greater<pair<int, int>>());
  vector<vector<long long>> ans(N + 1, vector<long long>(N + 1, 0));
  long long tmp1, tmp2;
  for (i = 1; i <= N; i++) {
    for (j = 0; j <= i; j++) {
      k = i - j;
      tmp1 = 0;
      tmp2 = 0;
      if (k > 0)
        tmp1 = ans.at(k - 1).at(j) +
               A.at(i - 1).first * abs(A.at(i - 1).second - k + 1);
      if (j > 0)
        tmp2 = ans.at(k).at(j - 1) +
               A.at(i - 1).first * abs(A.at(i - 1).second - N + j);
      ans.at(k).at(j) = max(tmp1, tmp2);
    }
  }
  long long ansNum = 0;
  for (i = 0; i <= N; i++) {
    ansNum = max(ansNum, ans.at(i).at(N - i));
  }
  cout << ansNum;
  return 0;
}
