代码如下:
#include<bits/stdc++.h>
using namespace std;
const int N=205;
int num[N],f1[N][N],f2[N][N],sum[N],ans1=1e9,ans2=-1e9;
int read(){
int a=0;
char c=getchar();
while(c<'0'||c>'9') c=getchar();
while(c>='0'&&c<='9') a=a*10+c-'0',c=getchar();
return a;
}
int main(){
int n,r;
cin>>n;
for(int i=1;i<=n;i++)
num[i]=read(),num[i+n]=num[i];
for(int i=1;i<=n*2;i++) sum[i]=sum[i-1]+num[i];
for(int i=2;i<=n;i++)
for(int l=i+1;l<=2*n-i+1;l++){
r=i+l-1;
for(int k=l;k<r;k++){
f1[l][r]=min(f1[l][k]+f1[k+1][r]+sum[r]-sum[l-1],f1[l][r]);
f2[l][r]=max(f2[l][k]+f2[k+1][r]+sum[r]-sum[l-1],f2[l][r]);
}
}
for(int i=1;i<=n;i++) ans1=min(ans1,f1[i][i+n-1]),ans2=max(ans2,f2[i][i+n-1]);
cout<<ans1<<"\n"<<ans2;
return 0;
}