样例3错了
方程对吗?哪里错了
#include<bits/stdc++.h>
#define int long long
using namespace std;
inline int read(){
int x=0,f=1;char c=getchar();
while(c<'0'||'9'<c){if(c=='-')f=-1;c=getchar();}
while('0'<=c&&c<='9'){x=(x<<1)+(x<<3)+c-'0';c=getchar();}
return x*f;
}
const int N=5e3+5;
int n,ans;
int a[N],f[N],sum[N];
signed main(){
n=read();
for(int i=1;i<=n;i++){
a[i]=read();
sum[i]=sum[i-1]+a[i];
f[i]=sum[i-1];
}
for(int i=1;i<=n;i++)
for(int j=1;j<i;j++)
f[i]=max(f[i],f[j]+sum[(i-j-1)/2]*2+(((i-j-1)&1)?a[(i-j-1)/2+1]:0));
for(int i=1;i<=n;i++)ans=max(ans,f[i]+sum[n-i]);
printf("%lld",ans);
return 0;
}