爆0了
#include <bits/stdc++.h>
using namespace std;
long long a[210],dp[210][210],dp1[210][210]= {0};
long long sum[110];
int main()
{
int n;
cin>>n;
memset(dp,0,sizeof(dp));
memset(dp1,63,sizeof(dp1));
for(int i=1; i<=n; i++)
{
cin>>a[i];
a[i+n]=a[i];
if(i==1)
sum[i]=a[i];
else
sum[i]=sum[i-1]+a[i];
}
for(int i=0; i<=200; i++) dp[i][i] = 0;
for(int i=1; i<=n; i++)
{
for(int l=1; l<2*n; l++)
{
long long r=i+l-1;
for(int k=l; k<r and k<=2*n-1; k++)
{
dp[l][r]=max(dp[l][r],dp[l][k]+dp[k+1][r]+sum[r]-sum[l-1]);
dp1[l][r]=min(dp1[l][r],dp1[l][k]+dp1[k+1][r]+sum[r]-sum[l-1]);
}
}
}
long long ma=-4611686018427387904,mi=4611686018427387904;
for(int i=1; i<=n; i++)
{
ma=max(ma,dp[i][i+n-1]);
mi=min(mi,dp1[i][i+n-1]);
}
cout<<mi<<endl<<ma;
return 0;
}