Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<iostream>#include<stdio.h>#include<algorithm>#include<math.h>#include<string.h>#include<string>#include<queue>#include<stack>#include<map>#include<set>#include<vector>using namespace std;typedef long long ll;const int maxn=1e3+10;const int mod=1e9+7;const int maxi=1e4+10;const int inf=1e8;int a[maxn],sum[maxn],dp[maxn][maxn];int main(){int n,i,j;while(scanf("%d",&n)!=EOF){for(i=1;i<=n;i++)scanf("%d",&a[i]);sum[0]=0;for(i=1;i<=n;i++)sum[i]=sum[i-1]+a[i];for(i=1;i<=n;i++)dp[i][i]=a[i];for(i=n;i>=1;i--)