#P1124. [CSP-J 2026] 按位与 / and
[CSP-J 2026] 按位与 / and
题目描述
小 R 有 个非负整数 。
小 X 给了小 R 一个正整数 ,并要求小 R 从这 个非负整数中选出恰好 个,使得选出的 个数的二进制按位与的值最大。
你需要帮助小 R 求出,他能选出的 个数的按位与的最大值。
输入格式
从文件 and.in 中读入数据。
输入的第一行包含两个正整数 。
输入的第二行包含 个非负整数 ,依次表示小 R 的 个非负整数。
输出格式
输出到文件 and.out 中。
输出一行一个非负整数,表示小 R 能选出的 个数的按位与的最大值。
4 2
3 15 12 12
12
5 3
31 3 1 15 7
7
说明/提示
样例 1 解释
小 R 有 个非负整数:。
- 若小 R 选择 ,则按位与的值为 ;
- 若小 R 选择 ,则按位与的值为 ;
- 若小 R 选择 ,则按位与的值为 ;
- 若小 R 选择 ,则按位与的值为 。
因此,小 R 能选出的 个数的按位与的最大值为 。
样例 2 解释
若小 R 选择 ,则按位与的值为 $31\mathbin{\mathrm{and}}15\mathbin{\mathrm{and}}7=7$。可以证明,小 R 能选出的 个数的按位与的最大值为 。
样例 3
见题目目录下的 and/3.in 与 and/3.ans。
该样例满足测试点 的约束条件。
样例 4
见题目目录下的 and/4.in 与 and/4.ans。
该样例满足测试点 的约束条件。
样例 5
见题目目录下的 and/5.in 与 and/5.ans。
该样例满足测试点 的约束条件。
数据范围
对于所有测试数据,均有:
- ;
- 对于所有 (),均有 $0\le a_i