[USACO22JAN] Tests for Haybales G

题目描述

Farmer John 的奶牛们决定为 Farmer Nhoj 农场的奶牛们举办一场编程竞赛。为了使问题尽可能有趣,他们花费了大量时间来构造具有挑战性的测试用例。特别是对于一个问题,「Haybales」,奶牛们需要你的帮助来设计具有挑战性的测试用例。这有关解决以下这个有些奇妙的问题: 有一个有序整数数组 $x_1 \leq x_2 \leq \dotsb \leq x_N$($1 \leq N \leq 10^5$),和一个整数 $K$。你不知道这个数组以及 $K$,但你知道对于每个索引 $i$ 使得 $x_{j_i} \leq x_i + K$ 的最大索引 $j_i$。保证有 $i\le j_i$ 以及 $j_1\le j_2\le \cdots \le j_N\le N$。 给定这些信息,Farmer John 的奶牛需要构造任意一个数组以及整数 $K$ 与该信息一致。构造需要满足对于所有 $i$ 有 $0 \leq x_i \leq 10^{18}$,并且 $1 \leq K \leq 10^{18}$。 可以证明这一定是可行的。请帮助 Farmer John 的奶牛们解决这一问题!

输入输出格式

输入格式


输入的第一行包含 $N$。第二行包含 $j_1,j_2,\ldots,j_N$。

输出格式


输出 $K$,然后在下一行输出 $x_1,\ldots,x_N$。任何合法的输出均正确。

输入输出样例

输入样例 #1

6
2 2 4 5 6 6

输出样例 #1

6
1
6
17
22
27
32

说明

【样例解释】 输出样例为数组 $a=[1,6,17,22,27,32]$ 以及 $K=6$。 $j_1=2$ 被满足是由于 $a_2=6 \le 1+6=a_1+K$ 而 $a_3=17>1+6=a_1+K$,从而 $a_2$ 是最大的不超过 $a_1+K$ 的元素。类似地: - $j_2=2$ 被满足是由于 $a_2=6 \le 6+6$ 而 $a_3=17>6+6$; - $j_3=4$ 被满足是由于 $a_4=22 \le 17+6$ 而 $a_5=27>17+6$; - $j_4=5$ 被满足是由于 $a_5=27 \le 22+6$ 而 $a_5=32>22+6$; - $j_5=6$ 被满足是由于 $a_6=32 \le 27+6$ 且 $a_6$ 是数组的最后一个元素; - $j_6=6$ 被满足是由于 $a_6=32 \le 32+6$ 且 $a_6$ 是数组的最后一个元素。 对于输入样例,这并不是唯一正确的输出。例如,你也可以输出数组 $[1,2,4,5,6,7]$ 和 $K=1$。 【数据范围】 - 所有测试点的 $50\%$ 满足 $N \le 5000$。 - 其余测试点没有额外限制。 【说明】 本题采用自行编写的 [Special Judge](https://www.luogu.com.cn/paste/kzgvkesl)。如果对此有疑问或想要 hack,请[私信编写者](https://www.luogu.com.cn/chat?uid=137367)或[发帖](https://www.luogu.com.cn/discuss/lists?forumname=P8098)。