#1724. 2026-cspj-按位与(and)
2026-cspj-按位与(and)
按位与(and)
时间限制: 1.0 s
内存限制: 1024 MiB
题目描述
小 R 有 (n) 个非负整数 (a_1,a_2,\ldots,a_n)。
小 X 给了小 R 一个正整数 (m),并要求小 R 从这 (n) 个非负整数中选出恰好 (m) 个,使得选出的 (m) 个数的二进制按位与的值最大。
你需要帮助小 R 求出,他能选出的 (m) 个数的按位与的最大值。
输入格式
输入的第一行包含两个正整数 (n,m)。
输入的第二行包含 (n) 个非负整数 (a_1,a_2,\ldots,a_n),依次表示小 R 的 (n) 个非负整数。
输出格式
输出一行一个非负整数,表示小 R 能选出的 (m) 个数的按位与的最大值。
样例 1
输入:
4 2
3 15 12 12
输出:
12
样例 1 解释
小 R 有 4 个非负整数:3、15、12、12。
- 若小 R 选择 3、15,则按位与的值为 (3\ \text{and}\ 15=3);
- 若小 R 选择 3、12,则按位与的值为 (3\ \text{and}\ 12=0);
- 若小 R 选择 15、12,则按位与的值为 (15\ \text{and}\ 12=12);
- 若小 R 选择 12、12,则按位与的值为 (12\ \text{and}\ 12=12)。
因此,小 R 能选出的 (m) 个数的按位与的最大值为 12。
样例 2
输入:
5 3
31 3 1 15 7
输出:
7
样例 2 解释
若小 R 选择 31、15、7,则按位与的值为:
[ 31\ \text{and}\ 15\ \text{and}\ 7=7 ]
可以证明,小 R 能选出的 (m) 个数的按位与的最大值为 7。
样例 3
见题目目录下的 and/3.in 与 and/3.ans。
该样例满足测试点 8~10 的约束条件。
样例 4
见题目目录下的 and/4.in 与 and/4.ans。
该样例满足测试点 14、15 的约束条件。
样例 5
见题目目录下的 and/5.in 与 and/5.ans。
该样例满足测试点 18、19 的约束条件。
数据范围
对于所有测试数据,均有:
- (1\le m\le n\le 2\times 10^5);
- 对于所有 (i)((1\le i\le n)),均有 (0\le a_i<2^{30})。