这题样例过不了。
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=5e5+1;
int n,m;
int trie[N][2],idx;
void insert(int x,int s){
for(int i=(1ll<<32);i;i>>=1){
int c=i&s;
if(!trie[x][c])
trie[x][c]=++idx;
x=trie[x][c];
}
}
int search(int x,int s){
int ans=0;
for(int i=(1ll<<32);i;i>>=1){
int c=i&s;
if(trie[x][!c]){
ans+=i;
x=trie[x][!c];
}else
x=trie[x][c];
}
return ans;
}
signed main(){
cin>>n>>m;
for(int i=1;i<=n;++i){
int s;
cin>>s;
insert(0,s);
}
while(m--){
int s;
cin>>s;
cout<<search(0,s)<<endl;
}
return 0;
}