A119998.0/1 Trie 模板
普及/提高-
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
小码君有一个数字集合,集合中一共有 n 个非负整数。
接下来有 q 次询问,每次给出一个非负整数 x。
对于每次询问,你需要从集合中选择一个数 ai,使得:
x⊕ai
尽可能大。
其中 ⊕ 表示按位异或运算。
请你输出每次询问能够得到的最大异或值。
输入格式
第一行输入两个整数 n,q,表示集合中数字的个数和询问次数。
第二行输入 n 个非负整数 a1,a2,…,an。
接下来 q 行,每行输入一个非负整数 x,表示一次询问。
输出格式
对于每次询问,输出一行一个整数,表示最大的异或值。
输入输出样例
输入#1
5 4 1 2 3 10 15 0 5 8 7
输出#1
15 15 11 13
说明/提示
样例解释 #1
对于询问 x=0:
选择 15,有:
0⊕15=15
所以答案是 15。
对于询问 x=5:
选择 10,有:
5⊕10=15
所以答案是 15。
对于询问 x=8:
选择 3,有:
8⊕3=11
所以答案是 11。
对于询问 x=7:
选择 10,有:
7⊕10=13
所以答案是 13。
数据范围
对于所有测试数据,满足:
- 1≤n,q≤2×105
- 0≤ai,x<230