#2437. [CSP-J 2026] 按位与 / and

[CSP-J 2026] 按位与 / and

A 按位与(and)

题目描述

小 R 有 nn 个非负整数 a1,a2,…,ana_1,a_2,\ldots,a_n。

小 X 给了小 R 一个正整数 mm,并要求小 R 从这 nn 个非负整数中选出恰好 mm 个,使得选出的 mm 个数的二进制按位与的值最大。

你需要帮助小 R 求出,他能选出的 mm 个数的按位与的最大值。

输入格式

输入的第一行包含两个正整数 n,mn,m。

输入的第二行包含 nn 个非负整数 a1,a2,…,ana_1,a_2,\ldots,a_n,依次表示小 R 的 nn 个非负整数。

输出格式

输出一行一个非负整数,表示小 R 能选出的 mm 个数的按位与的最大值。

样例

输入样例 1

4 2
3 15 12 12

输出样例 1

12

输入样例 2

5 3
31 3 1 15 7

输出样例 2

7

样例解释

样例 1:小 R 有 44 个非负整数 3,15,12,123,15,12,12。

  • 若选 3,153,15,按位与为 3 and 15=33\ \mathrm{and}\ 15=3;
  • 若选 3,123,12,按位与为 00;
  • 若选 15,1215,12,按位与为 1212;
  • 若选 12,1212,12,按位与为 1212。

因此最大值为 1212。

样例 2:若选 31,15,731,15,7,按位与为 77,可以证明最大值就是 77。

数据范围

对于所有测试数据,均有:

  • 1≤m≤n≤2×1051\le m\le n\le 2\times 10^5;
  • 对于所有 ii(1≤i≤n1\le i\le n),均有 0≤ai<2300\le a_i<2^{30}。
测试点编号 n≤n\le mm max⁡ai<\max a_i< 特殊性质
1∼51\sim 5 2020 ≤n\le n 2202^{20} 无
66 20002000 =1=1
77 =n=n
8∼108\sim 10 =2=2
11,1211,12 2×1052\times 10^5 =n−1=n-1
1313 ≤n\le n A
14,1514,15 B
16,1716,17 44 无
18,1918,19 2102^{10}
2020 2302^{30}

特殊性质 A:对于所有 ii,存在非负整数 kik_i 满足 ai=2ki−1a_i=2^{k_i}-1。

特殊性质 B:存在非负整数 kk 满足 n=2kn=2^k,且对所有 ii 均有 ai=i−1a_i=i-1。


题目来源:CSP-J 2026 第二轮(CCF CSP-J 入门级)。 题面据洛谷 P17829 整理;本平台测试数据由官方标程生成,覆盖题面「测试点编号」表里的各档子任务。