#P15655. [ICPC 2025 Jakarta R] Nihilation

    ID: 15593 远端评测题 1000ms 2048MiB 尝试: 0 已通过: 0 难度: 3 上传者: 标签>2025Special Judge最大公约数 gcd构造ICPC

[ICPC 2025 Jakarta R] Nihilation

说明

给定一个由 NN 个正整数组成的数组 A=[A1,A2,,AN]A = [A_1, A_2, \ldots, A_N]

在一次操作中,你可以选择整数 mmkk,满足 1k<m1091 \leq k < m \leq 10^9,并对所有 1iN1 \leq i \leq NAiA_i 设置为 (Ai×k)modm(A_i \times k) \bmod m

问最少需要多少次操作才能使所有 AiA_i 都变为 00

输出任意一种可行的操作序列。可以证明,总是有可能使所有 AiA_i 变为 00

输入格式

输入以整数 NN1N1000001 \le N \le 100\,000)开始。下一行包含 NN 个整数 AiA_i1Ai1091 \le A_i \le 10^9),表示给定的数组 AA

输出格式

第一行输出所需的最少操作次数 qq

接下来的 qq 行,每行输出两个整数 mmkk,表示使所有 AiA_i 变为 00 的操作序列中的一次操作。

如果存在多个满足条件的序列,输出其中任意一个即可。

5
4 1 2 6 3
2
12 6
3 2
2
9 9
1
3 1

提示

样例 1 解释: 以下描述了样例输出中的操作序列。

  • $A_i := (A_i \times 6) \bmod 12 \implies A = [0, 6, 0, 0, 6]$
  • $A_i := (A_i \times 2) \bmod 3 \implies A = [0, 0, 0, 0, 0]$

可以证明,不存在长度为 11 的操作序列能使所有 AiA_i 变为 00

翻译由 DeepSeek V3.2 完成