该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
Great Indices
题目描述
给定一个序列 a1,a2,⋯,an。对于每一个满足 1≤i≤n 的下标 i,当且仅当以下条件成立时,我们称下标 i 是 好 的:
- 至多存在一个下标 1≤j≤n,使得 aj 不是 ai 的约数。
你的任务是找出序列中所有 好 的下标。
回忆一下,当且仅当存在一个整数 k 使得 n=d×k 时,整数 d 是整数 n 的约数。
输入格式
输入包含多个测试用例。第一行包含一个整数 t(1≤t≤105),表示测试用例的数量。对于每个测试用例:
- 第一行包含一个整数 n(1≤n≤3×105),表示序列 a 的长度。
- 第二行包含 n 个整数 a1,a2,⋯,an(1≤ai≤109),表示给定的序列。
保证所有测试用例中 n 的总和不超过 3×105。
输出格式
对于每个测试用例,输出两行:
- 第一行输出一个整数 m,表示 好 的下标的数量。
- 第二行输出 m 个整数 p1,p2,⋯,pm(满足 p1<p2<⋯<pm),表示按 升序 排列的 好 的下标。
(如果不存在好下标,则不输出换行,否则会判EOF)
输入输出样例 #1
输入 #1
3
4
1 2 3 6
6
1 1 4 5 1 4
5
1 9 1 9 810
输出 #1
1
4
2
3 6
3
2 4 5
说明/提示
在第一个测试用例中:
- 当 i=1 时,使得 aj 不是 ai 的约数的下标 j 为 2、3 和 4。由于此类下标数量为 3>1,因此下标 1 不是 好 的下标。
- 当 i=2 时,存在两个下标 j=3 和 j=4,使得 aj 不是 ai 的约数。
- 当 i=3 时,存在两个下标 j=2 和 j=4,使得 aj 不是 ai 的约数。
- 当 i=4 时,所有的 aj 都是 ai 的约数,因此下标 4 是 好 的。
因此,唯一的 好 的下标是 i=4。
子任务
- 20% 的数据满足 n=1;
- 另有 30% 的数据满足 ∑n≤3000;
- 其余 50% 的数据满足原始数据范围。