#loj114. G62*【线性基】k 大异或和

G62*【线性基】k 大异或和

[AdditionalFile114.zip](file://AdditionalFile114.zip?type=additional_file)

【题意】

nn 个数 aia_i,从中任选若干个异或和,所有可能的异或和结果组成集合 SS

mm 次询问,每次询问给出一个整数 kk ,表示询问 SS 集合 中第 kk 小的值。

【输入格式】

第一行一个数 nn1n1051 \leq n \le 10^5)。

下来 nn 个数 aia_i0ai2500 \leq a_i \le 2 ^ {50})。

下来一个整数 mm1m1051 \leq m \le 10^5)。

下来 mm 个整数 kk

【输出格式】

输出 mm 行,对应每一次询问的答案,第 kk 小的异或和。

如果集合 SS 的所有非空子集中,不同的异或和数量不足 kk ,输出 -1

【样例输入】

3
1 2 3
5
1 2 3 4 5
5 2 8

【样例输出】

0
1
2
3
-1