AT_iroha2019_day2_h 根室の巫女
题目描述
公元42XX年,世界濒临毁灭,这一切都是由高桥君召唤的各种神秘存在引起的。如今,除了你以外的所有聪明人都已被无尽的虚无吞噬,剩下的只有你和巫女アブドゥル・いろはザード留下的魔法书,这是世界得以安宁的唯一希望。时间紧迫,危机正在步步逼近。经过研究发现,高桥君所念的咒语是一个长度为 $N$ 的整数序列 $B_1, B_2, \dots, B_N$。为了恢复世界的安宁,你需要找出一个符合以下条件的整数序列 $A_1, A_2, \dots, A_N$,并将其作为咒语念出:
- 每个 $A_i$ 都是一个介于 $1$ 和 $10^6$ 之间的整数。
- 对于每个满足 $1 \leq i \leq N$ 的整数 $i$,我们要找到最大的整数 $0 \leq x < i$,使得:
- 序列 $A_1$ 到 $A_x$ 和序列 $A_{i-x+1}$ 到 $A_i$ 是完全相同的。
你需要判断是否存在这样的序列 $A_1, A_2, \dots, A_N$,如果存在,请给出一个符合条件的例子。
输入格式
输入以如下格式从标准输入给出:
> $N$ $B_1$ $B_2$ $\cdots$ $B_N$
输出格式
如果存在符合条件的序列,第一行输出 `Yes`;如果不存在,输出 `No`。如果有符合条件的序列,在第二行输出一个这样的序列,各元素以空格分隔。
如果可以构造多个符合条件的序列,输出任意一个即可。
说明/提示
- 所有输入均为整数。
- $1 \leq N \leq 10^5$
- $0 \leq B_i < i$
### 示例解释
例如,当 $i = 6$ 时:
- 从 $A_1$ 到 $A_2$ 的两个元素是 $(1, 2)$,同样,从 $A_{6-2+1} = A_5$ 到 $A_6$ 的两个元素也是 $(1, 2)$,所以此时 $x = 2$ 满足条件。
- 从 $A_1$ 到 $A_4$ 的四个元素是 $(1, 2, 1, 3)$,而从 $A_{6-4+1} = A_3$ 到 $A_6$ 的四个元素是 $(1, 3, 1, 2)$,所以当 $x = 4$ 时条件不满足。
因此,满足条件的最大整数是 $x = 2$,这与 $B_6 = 2$ 一致。
**本翻译由 AI 自动生成**