#ABC117D. XXOR

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)

这里,对于非负整数 a,ba, b,aa XOR bb 表示 aabb 的按位异或。

请找出 ff 的最大值。

什么是 XOR:

整数 A,BA, B 的按位异或 XX 定义如下:

  • XX 用二进制表示时,2k2^k(k0k \geq 0)位上的数字为:若 A,BA, B 用二进制表示时 2k2^k 位上恰好只有一个为 11,则为 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

f(4)=(4f(4) = (4 XOR 1)+(41) + (4 XOR 6)+(46) + (4 XOR 3)=5+2+7=143) = 5 + 2 + 7 = 14 是最大值。

4 9
7 4 0 3
46
1 0
1000000000000
1000000000000

数据范围

  • 输入均为整数
  • 1N1051 \leq N \leq 10^5
  • 0K10120 \leq K \leq 10^{12}
  • 0Ai10120 \leq A_i \leq 10^{12}
难度 普及+/提高-
通过率
尝试 0
已通过 0
ID
1665
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签