https://www.luogu.com.cn/problem/P17829?contestId=369911
题目描述
小 R 有 n 个非负整数 a1,a2,…,an。
小 X 给了小 R 一个正整数 m,并要求小 R 从这 n 个非负整数中选出恰好 m 个,使得选出的 m 个数的二进制按位与的值最大。
你需要帮助小 R 求出,他能选出的 m 个数的按位与的最大值。输入格式
从文件 and.in 中读入数据。输入的第一行包含两个正整数 n,m。输入的第二行包含 n 个非负整数 a1,a2,…,a n ,依次表示小 R 的 n 个非负整数。输出格式
输出一行一个非负整数,表示小 R 能选出的 m 个数的按位与的最大值。输入输出样例
输入 #1
4 2
3 15 12 12
输出 #1
12输入 #2
5 3
31 3 1 15 7
输出 #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。数据范围
对于所有测试数据,均有:
1≤m≤n≤2×10^5;
对于所有 i(1≤i≤n),均有 0≤ai<2^30 。