题目描述
给定一个长度为 n 的非负整数序列 a1,a2,…,an,以及操作次数上限 K。
一次操作需要选择一个整数 r(1≤r≤n),将序列的前 r 个数各增加 1,即对每个 1≤i≤r 执行 ai←ai+1。
你可以进行 0 到 K 次操作。求操作结束后 $a_1\mathbin{\&}a_2\mathbin{\&}\cdots\mathbin{\&}a_n$ 的最大可能值,其中 & 表示按位与运算。
输入格式
第一行包含两个整数 n,K。
第二行包含 n 个整数 a1,a2,…,an。
输出格式
输出一个整数,表示按位与的最大可能值。
数据范围
对于所有测试数据,保证:
- 1≤n≤106;
- 0≤ai<260;
- 0≤K<260。
本题共 25 个测试点,每个测试点 4 分,各测试点单独计分。
子任务
| 编号 |
分值 |
缩减范围 |
| 1–7 |
28 |
n≤7 ai<32 K≤8 |
| 8–9 |
8 |
n≤2×105 K=0 |
| 10–12 |
12 |
n≤105 ai<210 K<210 |
| 13–20 |
32 |
n≤2×105 |
| 21–25 |
20 |
— |
样例 1
3 5
1 4 2
5
样例 1 说明
依次选择长度为 3,3,3,1 的前缀进行操作,可将序列变为 [5,7,5],其按位与为 5。