#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;

int main(){
int n;
cin >> n;
vector<int> init(n+1, 0);
for (int i = 1; i <= n; i++)
cin >> init[i];
vector<int> tmp(n+2,0);
vector<vector<int>> dp(n+2, tmp);
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n - i + 1; j++) {
dp[j][i] = max(dp[j + 1][i - 1] + (n - i + 1)*init[j], dp[j][i - 1] + (n - i + 1)*init[j + i - 1]);
}
}

cout << dp[1][n];
return 0;
}