题目描述
给定一个长度为N的非负整数序列:A=(A1,A2,dots,AN)。你最多可以进行以下操作M次(可以是零次):
- 选择一个整数i,使得1leileN,并将Ai加1。
然后,你需要选择K个A中的元素。
找出你所选择元素的按位 mathrmAND 运算的最大可能值。
什么是按位 rmAND 运算?
非负整数 A 和 B 的按位 rmAND 运算,记作 AmathrmANDB,定义如下:
- 当以二进制表示时,AmathrmANDB 的第 2k 位(kgeq0)的数字为 1,当且仅当 A 和 B 在该位都是 1,否则为 0。
例如,3mathrmAND5=1。 (在二进制表示中,011mathrmAND101=001。)
通常情况下,k 个非负整数 p1,p2,p3,dots,pk 的按位 rmAND 运算定义为 $(\\dots ((p_1\\ \\mathrm{AND}\\ p_2)\\ \\mathrm{AND}\\ p_3)\\ \\mathrm{AND}\\ \\dots\\ \\mathrm{AND}\\ p_k)$。我们可以证明,这个值不依赖于 p1,p2,p3,dots,pk 的顺序。
约束条件
- 1leKleNle2times105
- 0leM<230
- 0leAi<230
- 输入中的所有值都为整数。
输入
从标准输入读入输入数据,输入格式如下:
N M K
A1 A2 dots AN
输出
打印答案。
示例输入1
4 8 2
1 2 4 8
示例输出1
10
如果按照以下操作,你所选择元素的按位 mathrmAND 运算的结果将是 10。
- 将操作应用于 A3 六次。现在,A3=10。
- 将操作应用于 A4 两次。现在,A4=10。
- 选择 A3 和 A4,它们的按位 mathrmAND 结果为 10。
没有办法选择两个按位 mathrmAND 结果大于 10 的元素,所以答案是 10。
示例输入2
5 345 3
111 192 421 390 229
示例输出2
461