要求加入spj

MattL  •  2年前


要求加入spj

#include<bits/stdc++.h>
using namespace std;

int a[33],f[33][33],n,cnt,b[33][33];
void qp(int l,int r)
{
	if(l==r)
	{
		cout<<l<<' ';
		return ;
	}
	if(l>r)return ;
	cout<<b[l][r]<<' ';
	qp(l,b[l][r]-1);
	qp(b[l][r]+1,r);
}
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
		for(int o=1;o<=n;o++)
			f[i][o]=1;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
		f[i][i]=a[i];
	}
	for(int l=n;l>=1;l--)
		for(int r=l+1;r<=n;r++)
			for(int i=l;i<=r;i++)
				if(f[l][i-1]*f[i+1][r]+a[i]>f[l][r])
					b[l][r]=i,f[l][r]=f[l][i-1]*f[i+1][r]+a[i];
	cout<<f[1][n]<<endl;
	qp(1,n);
	cout<<endl;
	return 0;
}

洛谷AC,magicoj第2个样例就错了


Comments:

可是我们的代码两边都能通过啊


_  •  2年前

廖梓轩我的也过了,要不要我晚上QQ发给你


.  •  2年前