#include<cstdio>
#include<cstring>
#include<cmath>
const int MAXN=2005;
int w[MAXN];
bool dp[MAXN];
int main(){
int i,j,t,n,q,k;
scanf("%d",&t);
while(t--){
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&w[i]);
memset(dp,false,sizeof(dp));
dp[0]=true;
for(i=0;i<n;i++){
for(int j = MAXN;j>=w[i];j--)
dp[j]|=dp[j-w[i]];
}
for(i=0;i<n;i++)
for(j=0;j<=MAXN-w[i];j++)
dp[j]|=dp[j+w[i]];
scanf("%d",&q);
for(i=1;i<=q;i++){
scanf("%d",&k);
if(dp[k])
printf("YES\n");
else
printf("NO\n");
}
}
return 0;
}
Contest 2016-5-7 B(HDU 5616)
最新推荐文章于 2022-03-22 00:04:10 发布