#P15867. 【MX-X26-T3】「Cfz Round 7」GLACIES

【MX-X26-T3】「Cfz Round 7」GLACIES

说明

Yuki 有一个长度为 nn 的序列 aa 和一个正整数 mm。保证对于所有 1in1 \le i \le n,均有 0ai<2m0 \le a_i \lt 2^m

对于序列 aa,Yuki 定义其「鱼鱼值」等于:

$$a_1 \text{ and } a_2 \text{ and } \cdots \text{ and } a_n$$

即序列 aa 中的所有数按位与得到的结果。

Yuki 定义一次「大了」操作为:

  • 选择一个不大于 nn 的正整数 ii,将 aia_i 的值修改为 (2ai)mod2m(2 \cdot a_i) \bmod 2^m

Yuki 希望进行若干次「大了」操作(可以为 00 次),使序列 aa 的「鱼鱼值」尽可能大。

你需要帮助她求出,使序列 aa 的「鱼鱼值」达到最大值所需的「大了」操作次数的最小值。

输入格式

本题有多组测试数据。

输入的第一行包含两个整数 c,tc,t,分别表示该测试点所属的子任务编号和测试数据组数。样例满足 c=0c=0

接下来依次输入每组测试数据。对于每组测试数据:

  • 第一行包含两个整数 n,mn,m
  • 第二行包含 nn 个整数 a1,,ana_1,\dots,a_n

输出格式

对于每组测试数据,输出一行,包含一个整数,表示使序列 aa 的「鱼鱼值」达到最大值所需的「大了」操作次数的最小值。

0 4
3 4
1 3 8
2 3
4 0
3 5
3 6 11
3 4
5 7 13
5
0
8
3

提示

样例 1 解释

对于第 11 组测试数据,可以选择 i=1i=1 进行 33 次「大了」操作,再选择 i=2i=2 进行 22 次「大了」操作,使序列 aa 变为 {8,12,8}\{8,12,8\},「鱼鱼值」等于 88。可以证明序列 aa 的「鱼鱼值」所能达到的最大值即为 88,且至少需要进行 55 次操作。

对于第 22 组测试数据,无论怎么操作,序列 aa 的「鱼鱼值」都为 00,因此答案为 00

数据范围

n\sum n 表示单个测试点中 nn 的和。

对于所有测试数据,均有:

  • 1t51051 \le t \le 5\cdot10^5
  • 1n51051 \le n \le 5\cdot 10^51m601 \le m \le 60n5105\sum n \le 5\cdot10^5
  • 对于所有 1in1 \le i \le n,均有 0ai<2m0 \le a_i \lt 2^m

本题采用捆绑测试。

  • Subtask 1(15 points):n,m8n,m \le 8n8\sum n \le 8
  • Subtask 2(18 points):n103n \le 10^3m10m \le 10n103\sum n \le 10^3
  • Subtask 3(21 points):n104n \le 10^4m20m \le 20n104\sum n \le 10^4
  • Subtask 4(21 points):n105n \le 10^5m30m \le 30n105\sum n \le 10^5
  • Subtask 5(25 points):无特殊限制。