#ATarc146b. [ARC146B] Plus and AND
[ARC146B] Plus and AND
题目描述
给定一个长度为 的非负整数序列 。你可以进行不超过 次如下操作(也可以一次都不进行):
- 选择一个满足 的整数 ,将 增加 。
操作结束后,从 中选择 个元素。
请你求出所选 个元素的按位与(bitwise AND)的最大值。
按位与(bitwise AND)运算的定义如下:
对于整数 , 和 的按位与 ,其二进制表示中每一位 ()的数值为 和 的该位都为 时为 ,否则为 。
例如,(二进制为 )。
一般地, 个整数 的按位与定义为 $(\dots((p\_1 \mathrm{AND} p\_2) \mathrm{AND} p\_3)\dots\mathrm{AND} p\_k)$,并且可以证明与顺序无关。
输入格式
输入从标准输入中给出,格式如下:
输出格式
输出答案。
样例 1
输入
4 8 2
1 2 4 8
输出
10
样例 2
输入
5 345 3
111 192 421 390 229
输出
461
说明/提示
限制条件
- 输入均为整数。
样例解释 1
可以按如下步骤使得选出的 个元素的按位与达到 :
- 对 进行 次操作,使 。
- 对 进行 次操作,使 。
- 选择 ,这两个元素的按位与为 。
无法使选出的 个元素的按位与达到 或更大,因此答案为 。
由 ChatGPT 4.1 翻译