#include <bits/stdc++.h>
using namespace std;
long long mod = 1e9 + 7;
long long maxN = 1e9;
pair<long long, long long> v[3009];
long long dp[3009][3009];
long long n;
long long fun(long long idx, long long l, long long r) {
  if (idx > n) return 0;
  long long &ans = dp[l][r];
  if (ans != -1) return ans;
  long long x = abs(l - v[idx].second) * v[idx].first + fun(idx + 1, l + 1, r);
  long long y = abs(r - v[idx].second) * v[idx].first + fun(idx + 1, l, r - 1);
  ans = max(x, y);
  return ans;
}
int32_t main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  cin >> n;
  for (long long i = 1; i <= n; i++) {
    long long x;
    cin >> x;
    v[i].first = x;
    v[i].second = i;
  }
  sort(v + 1, v + n + 1);
  reverse(v + 1, v + 1 + n);
  cout << fun(1, 1, n) << "\n";
  return 0;
}
