P16742 [GKS 2019 #G] The Equation

题目描述

宇宙的法则可以用一个包含 $N$ 个非负整数的数组来表示。其中第 $i$ 个整数为 $A_i$。 如果存在一个非负整数 $k$ 使得以下等式成立:$(A_1 \text{ xor } k) + (A_2 \text{ xor } k) + \dots + (A_N \text{ xor } k) \le M$,其中 xor 表示按位异或,则称宇宙是 **好的**。 请问使得宇宙为好的最大 $k$ 值是多少?

输入格式

输入的第一行给出测试用例的数量 $T$。接下来有 $T$ 个测试用例。每个测试用例的第一行包含两个整数 $N$ 和 $M$,分别表示数组 $A$ 的元素个数以及等式中的限制值。 第二行包含 $N$ 个整数,其中第 $i$ 个整数为 $A_i$,即数组中的第 $i$ 个元素。

输出格式

对于每个测试用例,输出一行,格式为 `Case #x: y`,其中 $x$ 是测试用例编号(从 $1$ 开始),$y$ 是使得宇宙为好的最大 $k$ 值,如果不存在这样的 $k$ 则输出 $-1$。

说明/提示

在样例 #1 中,数组包含 $N = 3$ 个整数,$M = 27$。使得宇宙为好的最大 $k$ 值为 $12$($(8 \text{ xor } 12) + (2 \text{ xor } 12) + (4 \text{ xor } 12) = 26$)。 在样例 #2 中,数组包含 $N = 4$ 个整数,$M = 45$。使得宇宙为好的最大 $k$ 值为 $14$($(30 \text{ xor } 14) + (0 \text{ xor } 14) + (4 \text{ xor } 14) + (11 \text{ xor } 14) = 45$)。 在样例 #3 中,数组包含 $N = 1$ 个整数,$M = 0$。使得宇宙为好的最大 $k$ 值为 $100$($100 \text{ xor } 100 = 0$)。 在样例 #4 中,不存在任何 $k$ 使得宇宙为好,因此答案为 $-1$。 ### 限制条件 $1 \le T \le 100$。 $1 \le N \le 1000$。 **测试集 1(可见)** $0 \le M \le 100$。 对于所有 $i$,$0 \le A_i \le 100$。 **测试集 2(隐藏)** $0 \le M \le 10^{15}$。 对于所有 $i$,$0 \le A_i \le 10^{15}$。 翻译由 DeepSeek V4 Pro 完成