该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
B. 取模 2
给定 n 个正整数 a1,a2,…,an。
再给定 A,你需要从数列 a 中选择 m 项,以任意顺序排列为 b1,b2,…,bm,使得 $(\ldots((A\bmod b_1)\bmod b_2)\bmod\ldots)\bmod b_m=0$。
求出 m 的最小值。若无解,请输出 -1。
输入格式
本题有多组数据。
第一行一个整数 T,表示数据组数。
对于每组数据:
- 第一行两个整数 n,A,意义如题述。
- 第二行 n 个数,表示 a1,a2,…,an。
输出格式
对于每组数据,仅一行一个数,表示答案。
样例
输入样例 1
2
2 9
2 7
1 3
2
输出样例 1
2
-1
样例 1 说明
- 对于数据 1:考虑 9mod7=2,2mod2=0。可以证明,2 是 m 的最小值。
- 对于数据 2:显然无解。
数据规模与约定
| 测试点 |
限制 |
| 1 |
存在 i 使得 ai=1 |
| 2∼3 |
2≤ai≤20 |
| 4∼5 |
n≤10 |
| 6∼10 |
无特殊限制 |
对于 100% 的数据,1≤T≤3,1≤n≤20,1≤A,ai≤106。