T283713 某CQ的还原积木
题目背景
收拾掉了ZYY和他的小跟班们,某CQ感到自己的心情又通畅了起来,现在他拍拍屁股爬了起来(某CQ实际上只是被ZYY一行人摁在地上揍了一顿),看着地上乱糟糟的积木,他打算将它还原到被踢倒之前的样子。
题目描述
某CQ记得他堆的积木是一排阶梯,高度从左往右成一个递增的等差数列,但是他不记得公差是多少了,所以你只要弄出一个公差最小的等差数列来就可以了,现在,某CQ告诉了你被破坏后的积木每一级阶梯上还剩多少块积木。
某CQ还偷偷的告诉你,他还剩一种可以施放无限次的“至高无上”的寄能,那就是指定一个位置,将这个位置以及之后的每一级上都加上一块积木。
现在某CQ想要知道,他最少需要多少次操作,才能将他的积木还原成一个递增的等差数列,以及这个积木最终还原成什么样了?
输入格式
第一行,包含一个整数n,表示积木一共有多少级
第二行,包含n个整数,分别表示每一级上积木还剩多少个
输出格式
第一行,包含一个整数,表示最少的操作次数
第二行,包含n个整数,表示积木的最终形态
说明/提示
样例解释
某CQ先在位置2使用三次寄能,积木序列变为1 4 7 8 4 7
某CQ又在位置4使用两次寄能,积木序列变为1 4 7 10 6 9
某CQ再在位置5使用七次寄能,积木序列变为1 4 7 10 13 16
某CQ一共使用了12次寄能
数据范围及约定
对于20%的数据,满足1