我赌你不会做
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
我赌你不会做
时间限制:2s
空间限制:256MB
题目描述
黑板上有 个整数 。给定参数 ,你可以进行以下操作任意(可以为 )次:
- 选择一个黑板上的数 ;
- 擦去 ;
- 写下两个整数 ,要求满足 。
请问经过若干次操作后,能否使得所有的数都相同。如果能,求出最少的操作次数。
输入格式
本题有多组测试数据。
第一行一个整数 ,表示数据组数。
每组数据包含两行:
- 第一行两个整数 和 ,其意义参考题目描述。
- 第二行 个整数 。
输出格式
对于每组数据,输出一行一个整数,表示最少的操作次数。如果不存在,输出 。
样例 #1
样例输入 #1
9
2 1
3 4
2 3
7 11
3 10
100 40 100
2 1
1 2
2 2
1 2
1 327869541
327869541
5 26250314066
439986238782 581370817372 409476934981 287439719777 737637983182
5 616753575719
321037808624 222034505841 214063039282 441536506916 464097941819
5 431813672576
393004301966 405902283416 900951084746 672201172466 518769038906
样例输出 #1
3
1
4
-1
-1
0
3119
28999960732
-1
数据范围
对于所有数据,满足 ,,。
提示
对于第一组数据,。你可以通过如下操作使得所有数都等于 :
- 擦去 ,写下 。现在黑板上有 。
- 擦去 ,写下 。现在黑板上有 。
- 擦去 ,写下 。现在黑板上有 。
操作次数为 。可以证明不存在次数更少的操作方案。
对于第二组数据,。你可以通过如下操作使得所有数都等于 :
- 擦去 ,写下 。现在黑板上有 。
对于第三组数据,。你可以通过如下操作使得所有数都等于 :
- 擦去 ,写下 。现在黑板上有 。
- 擦去 ,写下 。现在黑板上有 。
- 擦去 ,写下 。现在黑板上有 。
- 擦去 ,写下 。现在黑板上有 。
对于第四组数据,不存在合法的操作方案。