CFCF2200H.Six Seven

省选/NOI-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

对于正整数 iijj,定义 fi(j)f_i(j) 为最大的整数 kk,使得 iki^k 能整除 jj。如果对于某个数 jj,有 f6(j)>f7(j)f_6(j) > f_7(j),则称 jj 是特殊数。例如,66 是特殊数,但 676777 都不是。

现在给定一个包含 nn 个正整数的数组 aa。你可以进行若干次操作,每次操作将数组的每个元素都加 11

你的任务是找出最少需要多少次操作,才能使数组 aa 中所有元素同时变为特殊数。如果无论如何都无法做到,请输出 1-1

输入格式

第一行输入一个整数 tt,表示测试用例数,1t1041 \leq t \leq 10^4

每个测试用例的第一行输入一个整数 nn1n2×1051 \leq n \leq 2 \times 10^5

每个测试用例的第二行输入 nn 个正整数 a1,a2,,ana_1, a_2, \dots, a_n1ai1091 \leq a_i \leq 10^9

所有测试用例中 nn 的总和不超过 2×1052 \times 10^5

输出格式

对于每个测试用例,输出一个整数,表示最少操作次数使所有元素都变为特殊数。如果做不到,输出 1-1

输入输出样例

  • 输入#1

    4
    3
    1 2 3
    2
    25 67
    8
    6 6 12 18 24 36 42 84
    1
    9557351

    输出#1

    -1
    5
    12
    7

说明/提示

在第一个测试用例中,无论如何操作都无法使所有数都变为特殊数。

在第二个测试用例中,进行 55 次操作后,数组变为 [30,72][30,72],其中所有元素都是特殊数。

在第四个测试用例中,进行 77 次操作后,数组变为 [9557358][9557358]

首页