该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
小 R 有 n 个非负整数 a1,a2,…,an。
小 X 给了小 R 一个正整数 m,并要求小 R 从这 n 个非负整数中选出恰好 m 个,使得选出的 m 个数的二进制按位与的值最大。
你需要帮助小 R 求出,他能选出的 m 个数的按位与的最大值。
输入格式
从文件 and.in 中读入数据。
输入的第一行包含两个正整数 n,m。
输入的第二行包含 n 个非负整数 a1,a2,…,an,依次表示小 R 的 n 个非负整数。
输出格式
输出到文件 and.out 中。
输出一行一个非负整数,表示小 R 能选出的 m 个数的按位与的最大值。
样例
4 2
3 15 12 12
12
5 3
31 3 1 15 7
7
样例解释
第 1 组
小 R 有 4 个非负整数:3,15,12,12。
-
若小 R 选择 3,15,则按位与的值为 3and15=3;
-
若小 R 选择 3,12,则按位与的值为 3and12=0;
-
若小 R 选择 15,12,则按位与的值为 15and12=12;
-
若小 R 选择 12,12,则按位与的值为 12and12=12。
因此,小 R 能选出的 m 个数的按位与的最大值为 12。
第 2 组
若小 R 选择 31,15,7,则按位与的值为 $31\mathbin{\mathrm{and}}15\mathbin{\mathrm{and}}7=7$。可以证明,小 R 能选出的 m 个数的按位与的最大值为 7。
大样例
第 3 组样例见附件 and.zip 中的 and3.in 与 and3.ans,满足测试点 8∼10 的约束条件。
第 4 组样例见附件 and.zip 中的 and4.in 与 and4.ans,满足测试点 14,15 的约束条件。
第 5 组样例见附件 and.zip 中的 and5.in 与 and5.ans,满足测试点 18,19 的约束条件。
数据规模与约定
对于所有测试数据,均有:
- 1≤m≤n≤2×105;
- 对于所有 i(1≤i≤n),均有 0≤ai<230。
| 测试点编号 |
n≤ |
m |
maxi=1nai< |
特殊性质 |
| 1∼5 |
20 |
≤n |
220 |
无 |
| 6 |
2000 |
=1 |
| 7 |
=n |
| 8∼10 |
=2 |
| 11,12 |
2×105 |
=n−1 |
| 13 |
≤n |
A |
| 14,15 |
B |
| 16,17 |
4 |
无 |
| 18,19 |
210 |
| 20 |
230 |
特殊性质 A:对于所有 i(1≤i≤n),均存在非负整数 ki 满足 ai=2ki−1。
特殊性质 B:存在非负整数 k 满足 n=2k,且对所有 i(1≤i≤n),均有 ai=i−1。