#include<bits/stdc++.h>
using namespace std;
int dp[2001][2001];
int a[2001];
int f[2001][2001];
int dfs(int l,int r){
if (l >= r){
return 0;
}
if (f[l][r]) return f[l][r];
int sum = -1;
for (int i = 1;i <= r-l+1;i++){
if (i == 1) sum = max(sum,max((l+i,r)+a[l],dfs(l,r-i)+a[r]));
else sum = max(sum,max(dfs(l+i,r)+abs(a[l]-a[l+i-1])*i,dfs(l,r-i)+abs(a[r]-a[r-i+1])*i));
}
return f[l][r] = sum;
}
int main(){
int n;
cin>>n;
for (int i = 1;i <= n;i++){
cin>>a[i];
}
cout<<dfs(1,n);
return 0;
}