异或空间线性基
时间限制:1秒 内存限制:256M
【题目描述】
给定由 \(n\) 个数组成的一个可重集 \(S= \{ s_1,s_2,…,S_n \}\),求 \(S\) 的一个子集 \(T= \{ t_1,t_2,…,t_k \}\),使得\(t_1∧t_2∧…∧t_k\) 是 \(S\) 的所有非空子集中第 \(k\) 小的。
【输入格式】
第一行一个数 \(n\)。
第二行 \(n\) 个数,表示集合 \(S\)。
第三行一个数 \(m\),表示询问次数。
第四行 \(m\) 个数,表示每一次询问的 \(k\)。
【输出格式】
输出 \(m\) 行,对应每一次询问的答案,第 \(k\) 小的异或和。如果集合 \(S\) 的所有非空子集中,不同的异或和数量不足 \(k\),输出 -1。
【输入输出样例】
Input
5
1 4 5 9 12
5
1 2 5 8 10
Output
0
1
8
13
-1
【数据限制】
对于 \(100\%\) 的数据,\(1≤n,m≤10^5\),\(1≤s_i≤2^{60}\)
【来源】
Mr.he**