#CSPJ26C. [CSP-J 2026] 按位与 / and

[CSP-J 2026] 按位与 / and

题目描述

小 R 有 nn 个非负整数 a1,a2,…,ana_1,a_2,\ldots,a_n。

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

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

输入格式

第一行包含两个正整数 n,mn,m。

第二行包含 nn 个非负整数 a1,a2,…,ana_1,a_2,\ldots,a_n。

输出格式

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

样例

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

数据范围

对于所有测试数据,1≤m≤n≤2×1051\le m\le n\le 2\times10^5,0≤ai<2300\le a_i<2^{30}。

测试点编号 n≤n\le mm max⁡ai<\max a_i< 特殊性质
1~5 20 ≤n\le n 2202^{20} 无
6 2000 =1=1
7 =n=n
8~10 =2=2
11~12 2×1052\times10^5 =n−1=n-1
13 ≤n\le n A
14~15 B
16~17 44 无
18~19 2102^{10}
20 2302^{30}

特殊性质 A:对于所有 ii,均存在非负整数 kik_i 满足 ai=2ki−1a_i=2^{k_i}-1。

特殊性质 B:存在非负整数 kk 满足 n=2kn=2^k,且对所有 ii 均有 ai=i−1a_i=i-1。