CFCF2173C.Kanade's Perfect Multiples

普及-

通过率:0%

AC君温馨提醒

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

题目描述

我们已经把那些回忆刻在了心里……无论它们有多么辛苦,那都是我们所经历过的人生!

——Angel Beats!

在死后世界学园中,奏在研究一种奇特的数字游戏。

她给你两个整数 nnkk,以及一个由 nn 个整数组成的数组 aa,其中 1aik1 \le a_i \le k 恒成立。

对于一个整数集合 B={b1,b2,,bm}B = \{b_1, b_2, \ldots, b_m\},其中 1bik1 \le b_i \le k,当且仅当同时满足下列两个条件时,我们称它为完备集合:

  • 对于每个 1in1\le i\le naia_i 的至少一个因数在 BB 中;
  • 对于每个 1jm1\le j\le m,所有 bjb_j 的正整数倍且小于等于 kk 的数,至少在数组 aa 中出现过一次。

你需要找到一个大小最小的完备集合 BB,或者判断不存在这样的集合。

输入格式

每组测试数据包含多组测试用例。第一行包含一个整数 tt1t1041 \le t \le 10^4),表示测试用例的数量。

每个测试用例的第一行包含两个整数 nnkk1n21051\le n\le 2\cdot 10^51k1091\le k\le 10^9)——数组 aa 的长度及其元素的上界。

第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n1aik1\le a_i\le k)——数组 aa 的各个元素。

保证所有测试用例中 nn 的总和不超过 21052\cdot10^5

输出格式

对于每组测试用例:

  • 如果不存在完备集合 BB,只需在一行中输出一个整数 1-1
  • 否则:
    • 首先输出一行一个整数 mm1mn1\le m\le n),表示 BB 的大小,且要求使 mm 最小。
    • 第二行输出 mm 个整数 b1,b2,,bmb_1,b_2,\ldots,b_m1bik1\le b_i\le k),表示你构造的集合 BB

如果存在多种答案,输出任意一种均可。

输入输出样例

  • 输入#1

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

    输出#1

    2
    2 3 
    1
    1 
    -1
    1
    2

说明/提示

在第一个测试用例中,B={2,3}B=\{2,3\} 符合要求。对于 b=2b=2,所有倍数 {2,4,6}\{2,4,6\}(不超过 k=6k=6)都在 aa 中出现过;对于 b=3b=3,所有倍数 {3,6}\{3,6\} 也都出现了。每个 aia_i 都能被 2233 整除。没有单个 bb 能同时满足这两个条件,所以 m=2m=2 是最小的。

在第二个测试用例中,B={1}B=\{1\} 满足条件,因为每个数都能被 11 整除,且 11 的所有倍数(即 1,2,3,4,51,2,3,4,5,不超过 kk)都在 aa 中出现了。

首页