#include<bits/stdc++.h> using namespace std; int n,a[2005],dp[2005][2005],ans; int main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; a[i+n]=a[i]; } for(int i=1;i<=n*2;i++){ a[i]+=a[i-1]; } for(int j=1;j<=2*n;j++){ for(int i=j-1;i>=1;i--){ for(int k=i;k<j;k++) dp[i][j]=max(dp[i][j],dp[i][k]+dp[k+1][j]+a[j]-a[i-1]); } } for(int i=1;i<=n;i++){ ans=max(ans,dp[i+1][i+n]); } cout<<ans; return 0; } /************************************************************** Problem: 2117 User: caizhihao Language: C++ Result: Time Limit Exceed ****************************************************************/