#2766. XXOR

0
    ID: 2766 传统题 2000ms 1024MiB 尝试: 0 已通过: 0 难度: 4 上传者: 标签>AtCoderabc117DGESP 5级贪心位运算(简单)

XXOR

XXOR

题目描述

给定 NN 个非负整数 A1,A2,...,ANA_1, A_2, ..., A_N 以及另一个非负整数 KK。 对于介于 00 和 KK(含)之间的整数 XX,定义 f(X)=(Xf(X) = (X XOR A1)A_1) ++ (X(X XOR A2)A_2) ++ ...... ++ (X(X XOR AN)A_N)。 这里,对于非负整数 aa 和 bb,aa XOR bb 表示 aa 与 bb 的按位异或。 求 ff 的最大值。

What is XOR?
$a$ 与 $b$ 的按位异或,$X$,定义如下:

当 XX 以二进制表示时,2k2^k 位(k≥0k \geq 0)的数字为 11 当且仅当在二进制表示中,AA 与 BB 在 2k2^k 位恰好有一个为 11,否则为 00。

例如,33 XOR 5=65 = 6.(二进制表示:011011 XOR 101=110101 = 110.)

输入格式

输入由标准输入给出,格式如下: NN KK A1A_1 A2A_2 ...... ANA_N

输出格式

输出 ff 的最大值。

3 7
1 6 3
14
4 9
7 4 0 3
46
1 0
1000000000000
1000000000000

提示

输入中的所有值均为整数。 1≤N≤1051 \leq N \leq 10^5 0≤K≤10120 \leq K \leq 10^{12} 0≤Ai≤10120 \leq A_i \leq 10^{12}最大值为:f(4)=(4f(4) = (4 XOR 1)+(41) + (4 XOR 6)+(46) + (4 XOR 3)=5+2+7=143) = 5 + 2 + 7 = 14.

标签: AtCoder|abc117D

来源

AtCoder|abc117D