能量项链

 区间dp

#include 
#include 
using namespace std;
int read()
{
	int x=0,f=1;
	char c=getchar();
	while(c<'0'||c>'9')
	{
		if(c=='-')  f=-1;
		c=getchar();
	}
	while(c>='0'&&c<='9')
	{
		x=x*10+c-'0';
		c=getchar();
	}
	return f*x;
}
const int N=300;
int n,f[N][N],a[N],ans;
int main()
{
	n=read();
	for(int i=1;i<=n;i++)  a[i]=a[n+i]=read();
	for(int i=1;i<=n*2-2;i++)  f[i][i+2]=a[i]*a[i+1]*a[i+2];
	for(int k=3;k<=n;k++)
	  for(int i=1;i<=n*2-k;i++)
	    for(int j=1;j

 

你可能感兴趣的:(能量项链)