CF2039D.Shohag Loves GCD

普及+/提高

通过率:0%

AC君温馨提醒

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

题目描述

Shohag 拥有一个整数 nn 和一个包含 mm 个不同整数的集合 SS。请帮助他找到字典序最大*的整数数组 a1,a2,…,ana_1, a_2, \ldots, a_n,使得对于每个 1≤i≤n1 \le i \le n 有 ai∈Sa_i \in S ,并且满足对所有 1≤i<j≤n1 \le i < j \le n 有 agcd⁡(i,j)≠gcd⁡(ai,aj)a_{\gcd(i, j)} \neq \gcd(a_i, a_j)†,或者说明不存在这样的数组。

*一个数组 aa 如果在第一个不同的位置上比数组 bb 有更大的元素,则称其为字典序大于数组 bb(假设两个数组长度相同)。

†gcd⁡(x,y)\gcd(x, y) 表示整数 xx 和 yy 的最大公约数(GCD)。

输入格式

第一行包含一个整数 tt (1≤t≤1041 \le t \le 10^4) — 测试用例的数量。

每个测试用例的第一行包含两个整数 nn 和 mm (1≤m≤n≤1051 \le m \le n \le 10^5)。

每个测试用例的第二行包含 mm 个按递增顺序排列的不同整数,表示集合 SS 的元素 (1≤x≤n1 \le x \le n 对于每个 x∈Sx \in S)。

保证所有测试用例中 nn 的总和不超过 3⋅1053 \cdot 10^5。

输出格式

对于每个测试用例,如果无解则输出 −1-1,否则输出 nn 个整数 —— 满足条件的字典序最大的整数数组。

输入输出样例

  • 输入#1

    3
    6 3
    3 4 6
    1 1
    1
    2 1
    2

    输出#1

    6 4 4 3 4 3 
    1 
    -1

说明/提示

在第一个测试用例中,数组中的每个元素都属于给定的集合 S={3,4,6}S = \{3, 4, 6\},并且数组的所有索引对都满足必要的条件。特别是对于对 (2,3)(2, 3),有 agcd⁡(2,3)=a1=6a_{\gcd(2, 3)} = a_1 = 6 而 gcd⁡(a2,a3)=gcd⁡(4,4)=4\gcd(a_2, a_3) = \gcd(4, 4) = 4,因此它们不相等。尽管存在其他满足条件的数组,但这个是其中字典序最大的。

在第三个测试用例中,由于我们只能使用数组 a=[2,2]a = [2, 2],但对于该数组,对于对 (1,2)(1, 2),有 agcd⁡(1,2)=a1=2a_{\gcd(1, 2)} = a_1 = 2 而 gcd⁡(a1,a2)=gcd⁡(2,2)=2\gcd(a_1, a_2) = \gcd(2, 2) = 2,因此它们相等,这是不允许的!所以没有解决方案。

输入解题思路,AI测评打分。不知道怎么写?

首页