#include <iostream>
#include <cstdio>
#include <cmath>
#include <string.h>
#include <queue>
#include <stack>
#include <algorithm>
#include <fstream>
#define ll long long
#define INF 0x3f3f3f3f
#define clr(x) memset(x,0,sizeof(x))
#define clr2(x) memset(x,INF,sizeof(x))
#define clr3(x) memset(x,-INF,sizeof(x))
#define clr4(x) memset(x,-1,sizeof(x))
#define pb(x) push_back(x)
//#define debug
using namespace std;
const ll mod=1e9+7;
int a[110];
int res,n,m;
struct S
{
int len,num;
} sum[23333];
void solve()
{
scanf("%d",&n);
for (int i=1; i<=n; i++)
scanf("%d",&a[i]);
clr(sum);
int tot=0;
for (int i=1; i<=n; i++)
{
int tmp=0;
for (int j=i; j<=n; j++)
{
tmp^=a[j];
sum[tot].num=tmp;
sum[tot++].len=j-i+1;
}
}
scanf("%d",&m);
int x;
for (int q=1; q<=m; q++)
{
scanf("%d",&x);
int minx=INF,tlen;
for (int i=0; i<tot; i++)
if (abs(sum[i].num-x)<minx)
{
minx=abs(sum[i].num-x);
tlen=sum[i].len;
}
else if (abs(sum[i].num-x)==minx)
tlen=max(tlen,sum[i].len);
printf("%d\n",tlen);
}
printf("\n");
}
#//define debug
int main()
{
#ifdef debug
freopen("in.txt","r",stdin);
freopen("out1.txt","w",stdout);
#endif
int T;
scanf("%d",&T);
while (T--)
solve();
return 0;
}
hdu 5971
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.