CF2029E.Common Generator
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
对于两个整数 x 和 y(x,y≥2),如果且仅如果可以通过若干次(可能为零次)以下操作将 x 变换为 y,则称 x 是 y 的一个生成器:
- 选取一个 x 的约数 d(d≥2),然后将 x 增加 d。
例如:
-
3 是 8 的生成器,因为可以执行如下操作:
3d=36d=28
-
4 是 10 的生成器,因为可以执行如下操作:
4d=48d=210
-
5 不是 6 的生成器,因为无法通过上述操作将 5 转换为 6。
现在,Kevin 给你一个长度为 n 的数组 a,其中包含两两不同的整数(ai≥2)。
你需要寻找一个整数 x≥2,使得对每个 1≤i≤n,x 都是 ai 的生成器;如果不存在这样的整数,则输出 −1。
输入格式
输入包含多组测试数据。
第一行包含一个整数 t(1≤t≤104)——测试用例的组数。
接下来描述各组测试用例。
每组测试用例的第一行包含一个整数 n(1≤n≤105)——数组 a 的长度。
第二行包含 n 个整数 a1,a2,…,an(2≤ai≤4⋅105)——数组 a 的元素。保证所有 ai 两两不同。
所有测试用例中,∑n≤105。
输出格式
对于每组测试用例,输出一个整数 x——所找到的满足条件的生成器;如果不存在,则输出 −1。
如果存在多个可行答案,输出任意一个即可。
输入输出样例
输入#1
4 3 8 9 10 4 2 3 4 5 2 147 154 5 3 6 8 25 100000
输出#1
2 -1 7 3
说明/提示
-
对于第一个测试用例,取 x=2:
-
2 是 8 的生成器,因为可以:
2d=24d=48
-
2 是 9 的生成器,因为可以:
2d=24d=26d=39
-
2 是 10 的生成器,因为可以:
2d=24d=26d=28d=210
-
-
对于第二个测试用例,可以证明不存在同时生成 {2,3,4,5} 的共同生成器。
输入解题思路,AI测评打分。不知道怎么写?