求教,WA
查看原帖
求教,WA
238203
跟你沟通楼主2020/11/6 18:38
#include<bits/stdc++.h>
using namespace std;
int f1[203][203],f2[203][203],a[203],sum[203];
int main()
{
	int n;cin>>n;
	for(int i=1;i<=n;++i){cin>>a[i];sum[i]=sum[i-1]+a[i];}
	for(int i=1;i<=n;++i)
	{
		a[i+n]=a[i];
		sum[i+n]=sum[i+n-1]+a[i+n];
	}
	for(int len=1;len<n;len++)
		for(int i=1,j=i+len;(i<=(n<<1))&&(j<=(n<<1));++i,j=i+len)
		{
			f1[i][j]=0x7fffffff;
			int tem=sum[j]-sum[i-1];
			for(int t=i;t<j;t++)
			{
				f1[i][j]=min(f1[i][j],f1[i][t]+f1[t+1][j]+tem);
				f2[i][j]=max(f2[i][j],f2[i][t]+f2[t+1][j]+tem);
			}
		}
	cout<<f1[1][n]<<endl<<f2[1][n];
}
2020/11/6 18:38
加载中...