AT_arc146_b.[ARC146B] Plus and AND
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个长度为 N 的非负整数序列 A=(A1,A2,…,AN)。你可以进行不超过 M 次如下操作(也可以一次都不进行):
- 选择一个满足 1≤i≤N 的整数 i,将 Ai 增加 1。
操作结束后,从 A 中选择 K 个元素。
请你求出所选 K 个元素的按位与(bitwise AND)的最大值。
按位与(bitwise AND)运算的定义如下:
对于整数 A,B,A 和 B 的按位与 AANDB,其二进制表示中每一位 2k(k≥0)的数值为 A 和 B 的该位都为 1 时为 1,否则为 0。
例如,3AND5=1(二进制为 011AND101=001)。
一般地,k 个整数 p1,p2,…,pk 的按位与定义为 (…((p1ANDp2)ANDp3)…ANDpk),并且可以证明与顺序无关。
输入格式
输入从标准输入中给出,格式如下:
N M K A1 A2 … AN
输出格式
输出答案。
输入输出样例
输入#1
4 8 2 1 2 4 8
输出#1
10
输入#2
5 345 3 111 192 421 390 229
输出#2
461
说明/提示
限制条件
- 1≤K≤N≤2×105
- 0≤M<230
- 0≤Ai<230
- 输入均为整数。
样例解释 1
可以按如下步骤使得选出的 2 个元素的按位与达到 10:
- 对 A3 进行 6 次操作,使 A3=10。
- 对 A4 进行 2 次操作,使 A4=10。
- 选择 A3,A4,这两个元素的按位与为 10。
无法使选出的 2 个元素的按位与达到 11 或更大,因此答案为 10。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?