记录详情
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n;
int a[401],s[401];
int dp[401][401];
int ans;
inline int read(){
register int r=0;register char c=getchar();
while(c>'9'||c<'0')c=getchar();
while(c<='9'&&c>='0')r=(r<<3)+(r<<1)+c-'0',c=getchar();
return r;
}
signed main(){
n=read();
for(int i=1;i<=n;i++){
a[i]=read();
dp[i][i]=1;
s[i]=s[i-1]+a[i];
}
for(int len=1;len<n;len++){
for(int l=1,r=l+len;l<n&&r<=n;r++,l++){
for(int i=l;i<r&&!dp[l][r];i++){
if(s[i]-s[l-1]==s[r]-s[i] && dp[l][i] && dp[i+1][r])dp[l][r]=1;
for(int j=i+1;j<r&&!dp[l][r];j++){
if(dp[i+1][j] && s[i]-s[l-1]==s[r]-s[j] && dp[l][i] && dp[j+1][r]){
dp[l][r]=1;
}
}
}
}
}
for(int i=1;i<=n;i++){
for(int j=i;j<=n;j++){
if(dp[i][j])ans=max(ans,s[j]-s[i-1]);
}
}
cout << ans;
return 0;
}