用的第1篇题解的思路...
#include<bits/stdc++.h>
#define itn int
using namespace std;
int q,w[114514],lo,e[5];
bool cyx(itn a){
if(a==lo+1) return 1;
for(int i=1;i<=4;i++){
if(e[i]>=w[a]){
e[i]-=w[a];
if(cyx(a+1)==1)return 1;
e[i]+=w[a];
}
}
return 0;
}
int main(){
cin>>q;
for(itn i=1;i<=q;i++){
cin>>lo;
memset(w,0,sizeof(w));
for(itn j=1;j<=lo;j++){
cin>>w[i];
w[0]+=w[i];
}
e[1]=e[2]=e[3]=e[4]=w[0]/4;
if(w[0]%4!=0){
cout<<"no"<<endl;
continue;
}
sort(w+1,w+lo+1,greater<int>());
if(cyx(1)==1){
cout<<"yes"<<endl;
}
else{
cout<<"no"<<endl;
}
}
return 0;
}