#include <bits/stdc++.h>
using namespace std;
const int INF = 0x3f3f3f3f;
const double PI = acos(-1.0);
const int T = 2e3 + 3;
long long dp[T][T];
vector<pair<int, int> > v;
int main() {
  ios_base::sync_with_stdio(false);
  int n;
  cin >> n;
  for (int i = 0; i < n; i++) {
    int x;
    cin >> x;
    v.emplace_back(x, i + 1);
  }
  sort(v.begin(), v.end());
  long long ans = 0;
  for (int i = n - 1; i >= 0; i--)
    for (int j = 1; j + i <= n; j++) {
      dp[j + 1][j + i] = max(dp[j + 1][j + i],
                             dp[j][j + i] + abs(v[i].second - j) * v[i].first);
      dp[j][j + i - 1] =
          max(dp[j][j + i - 1],
              dp[j][j + i] + abs(v[i].second - (j + i)) * v[i].first);
      ans = max({ans, dp[j + 1][j + i], dp[j][j + i - 1]});
    }
  cout << ans << '\n';
  return 0;
}
