#include<iostream> using namespace std; #define SIZE 20 int data[SIZE]; int N; int used[SIZE]; int ballon[SIZE]; int count=0; int weizhi[SIZE]; int Maxscore; int score(int p,int len) { int pos=p; int r=p; int l=p; int sum=0; while(weizhi[--l]==0); while(weizhi[++r]==0); if(l>=0&&r<len) { sum=sum+data[l]*data[r]; } if(l<0&&r<len) { sum=sum+data[r]; } if(r>=len&&l>=0) { sum=sum+data[l]; } if(l<0&&r>=len) { sum=sum+data[pos]; } return sum; } void Allpailie(int step,int len,int scores) { if(step==len) { if(scores>Maxscore) { Maxscore=scores; } return; } for(int i=0;i<len;i++) { if(!used[i]) { ballon[step]=i; used[i]=1; weizhi[i]=1; int tt=score(i,len); Allpailie(step+1,len,scores+tt); weizhi[i]=0; used[i]=0; } } } void main(){ freopen("a.txt","r",stdin); int nCase; cin>>nCase; for(int tc=0;tc<nCase;tc++) { cin>>N; for(int i=0;i<N;i++) { cin>>data[i]; } for(int i=0;i<N;i++) { used[i]=0; weizhi[i]=0; } Maxscore=0; Allpailie(0,N,0); cout<<Maxscore<<endl; } }