AT_kupc2018_g 数列を構成する問題
题目描述
给定一个长度为 $N$ 的整数序列 $a_1, a_2, \ldots, a_N$,请构造这个序列,使其满足以下条件:
- 对于每个元素 $a_i$,有 $0 \leq a_i \leq 10^{12}$。
- 对于给定的 $M$ 个整数 $c_1, c_2, \ldots, c_M$,要求 $a_{c_i}$ 必须等于 0。
- 定义 $b_i = \sum_{j \mid i} a_j$,即 $b_i$ 为所有能够整除 $i$ 的 $j$ 对应的 $a_j$ 的和。要求对于每一个 $1 \leq i \leq N-1$,有 $b_i < b_{i+1}$。
输入格式
输入包括一行,包含 $N$、$M$ 以及 $M$ 个整数 $c_1, c_2, \ldots, c_M$。
输出格式
如果无法构造满足条件的序列,请输出 `No`。如果可以构造,请输出 `Yes`,并在下一行输出序列中满足条件的每一个元素,以空格分隔。
说明/提示
- 所有输入值均为整数。
- $1 \leq N \leq 3 \times 10^5$
- $1 \leq M \leq N$
- $1 \leq c_i \leq N$
- $c_1, c_2, \ldots, c_M$ 中的元素各不相同。
### 示例解释
1. 在第一个示例中,序列中的元素都是非负整数,因此满足了第一个条件。而由于 $a_1 = 0$,故也满足了第二个条件。进而,$b_1 = a_1 = 0$,但应有 $b_i < b_{i+1}$。考虑 $b_2 = a_1 + a_2 = 1$、$b_3 = a_1 + a_3 = 2$,从而使得第三个条件也得到满足。
2. 在第二个示例中,若 $a_1 = a_2 = a_3 = 0$,则必然导致 $b_1 = b_2 = b_3 = 0$,因此无法满足第三个条件。
**本翻译由 AI 自动生成**