小 L 在信息学社团接到了一道关于按位异或的挑战题。
实验室里有 n 台测量仪器,第 i 台仪器的基准参数为 a_i。实验员可以向所有仪器广播一个公共调节参数 x(非负整数),调节后第 i 台仪器的输出读数变为 x \oplus a_i(按位异或)。由于设备限制,x 不能超过给定的上限 k,即 0 \leq x \leq k。
小 L 的目标是选择合适的 x,使所有仪器输出读数之和
f(x) = \sum_{i=1}^{n} (x \oplus a_i)
达到最大值。请帮小 L 求出 f(x) 的最大值。
输入共两行。
第一行包含两个非负整数 n 和 k,分别表示仪器台数与调节参数上限。
第二行包含 n 个非负整数 a_1, a_2, \dots, a_n,表示各仪器的基准参数。
输出一行,包含一个非负整数,表示 f(x) 的最大值。
4 10 1 3 5 7
48
3 6 4 4 4
21
1 10 6
15
15 20
0 1 2 3 4 5 6 7 16 17 18 19 20 21 22
288
取 x = 8(满足 0 \leq 8 \leq 10),各仪器输出读数为:
8 \oplus 1 = 9,\quad 8 \oplus 3 = 11,\quad 8 \oplus 5 = 13,\quad 8 \oplus 7 = 15
总和 f(8) = 9 + 11 + 13 + 15 = 48。可以验证,x \in [0, 10] 中 f(x) 的最大值为 48。
对于所有测试数据,保证:1 \leq n \leq 10^5,0 \leq k,\ a_i \leq 10^{12}。
| 测试点编号 | N, K | 特殊性质 |
|---|---|---|
| 1 | N=1, K=0 | 无 |
| 2 \sim 3 | 1 \le N \le 10, 1 \le K \le 10 | 无 |
| 4 | N=10^5, K=10^{12} | A |
| 5 | N=10^5, K=10^{12} | B |
| 6 | N=10^5, K=10^{12} | C |
| 7 \sim 25 | N \le 10^5, K \le 10^{12} | 无 |
特殊性质 A:所有的 a_i 满足相等。
特殊性质 B:所有的 a_i 满足单调递增。
特殊性质 C:所有的 a_i 满足单调递减。