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 自动生成**