给定一个长为 的正整数序列 , , , 。
定义 一次操作为:对于一个正整数 ,从前往后将变为。
具体地,用C++代码实现如下:
C++
for(int i=1;i<=n-k;++i) a[i]+=a[i+k];
你想让这个正整数序列在经历了不超过 次操作以后使得 变成 ,你想知道怎样的操作可以得到这样的结果。
输入一个数,表示序列长度。
第一行输出一个数,表示操作数个数。
第二行个数,表示每个操作的值。
2
1 1
5
3 2 4 1
对于所有数据, 。
对第一组样例,进行一次的操作即可让的值变为,即为整个序列的和。
对于第二组样例,一开始正整数序列为 , , ,经历 操作后为 , , , , ,经历 操作后为 , , , , , 经历 操作后为 , , , , ,即为结果。
注意输出格式。