https://www.luogu.org/problemnew/show/P1880
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const LL INF=0x3f3f3f3;
LL dp1[205][205],dp2[205][205],sum[205],a[205];
int N;
int main()
{
ios::sync_with_stdio(false);
cin>>N;
for(int i=1;i<=N;i++)
{
cin>>a[i];
sum[i]=sum[i-1]+a[i];
}
for(int i=N+1;i<=(N<<1);i++)sum[i]=sum[i-1]+a[i-N];
for(int len=1;len<N;len++)
{
for(int i=1,j=len+1;j<=(N<<1);i++,j++)
{
dp1[i][j]= INF;
dp2[i][j]=-INF;
for(int k=i;k<j;k++)
{
dp1[i][j]=min(dp1[i][j],dp1[i][k]+dp1[k+1][j]+sum[j]-sum[i-1]);
dp2[i][j]=max(dp2[i][j],dp2[i][k]+dp2[k+1][j]+sum[j]-sum[i-1]);
}
}
}
LL ans1,ans2;
ans1= INF;
ans2=-INF;
for(int i=1,j=N;i<N;i++,j++)
{
ans1=min(ans1,dp1[i][j]);
ans2=max(ans2,dp2[i][j]);
}
cout<<ans1<<endl<<ans2;
return 0;
}