#P14444. [ICPC 2025 Xi'an Practice] Great Indices

[ICPC 2025 Xi'an Practice] Great Indices

Description

给定一个序列 a1,a2,,ana_1, a_2, \cdots, a_n。对于每一个满足 1in1 \leq i \leq n 的下标 ii,当且仅当以下条件成立时,我们称下标 ii 的:

  • 至多存在一个下标 1jn1 \leq j \leq n,使得 aja_j 不是 aia_i 的约数。

你的任务是找出序列中所有 的下标。

回忆一下,当且仅当存在一个整数 kk 使得 n=d×kn = d \times k 时,整数 dd 是整数 nn 的约数。

Input Format

输入包含多个测试用例。第一行包含一个整数 tt1t1051 \leq t \leq 10^5),表示测试用例的数量。对于每个测试用例:

  • 第一行包含一个整数 nn1n3×1051 \leq n \leq 3 \times 10^5),表示序列 aa 的长度。
  • 第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \cdots, a_n1ai1091 \leq a_i \leq 10^9),表示给定的序列。

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

Output Format

对于每个测试用例,输出两行:

  • 第一行输出一个整数 mm,表示 的下标的数量。
  • 第二行输出 mm 个整数 p1,p2,,pmp_1, p_2, \cdots, p_m(满足 p1<p2<<pmp_1 < p_2 < \cdots < p_m),表示按 升序 排列的 的下标。
3
4
1 2 3 6
6
1 1 4 5 1 4
5
1 9 1 9 810
1
4 
2
3 6 
3
2 4 5 

Hint

在第一个测试用例中:

  • i=1i = 1 时,使得 aja_j 不是 aia_i 的约数的下标 jj223344。由于此类下标数量为 3>13 > 1,因此下标 11 不是 的下标。
  • i=2i = 2 时,存在两个下标 j=3j = 3j=4j = 4,使得 aja_j 不是 aia_i 的约数。
  • i=3i = 3 时,存在两个下标 j=2j = 2j=4j = 4,使得 aja_j 不是 aia_i 的约数。
  • i=4i = 4 时,所有的 aja_j 都是 aia_i 的约数,因此下标 44 的。

因此,唯一的 的下标是 i=4i = 4

翻译由 ChatGPT-5 完成