问题 3179 --按位与

3179: 按位与

时间限制: 1 Sec  内存限制: 256 MB
提交: 1  解决: 0
[提交][状态][讨论版][命题人:]

题目描述

小 R 有 n 个非负整数a1,a2,…,a3。

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

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

输入

从文件and.in中读入数据。

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

输入的第二行包含 n 个非负整数a1,a2,…,an,依次表示小 R 的 n 个非负整数。

输出

输出到文件and.out中。

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

样例输入

样例1
4 2
3 15 12 12
样例2
5 3
31 3 1 15 7

样例输出

样例1
12
样例2
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,则按位与的值为 31and15and7=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≤m≤n≤2×10^5;


  • 对于所有 i(1≤i≤n),均有 0≤ai<2^30。









特殊性质 A:对于所有 i(1≤i≤n),均存在非负整数 ki满足 ai=2^ki−1。



特殊性质 B:存在非负整数 k 满足 n=2^k,且对所有 i(1≤i≤n),均有ai=i−1。








来源

[提交][状态]