#167. 「Substract」 减操作

「Substract」 减操作

给定一个整数数组a_1,a_2,,a_na\_1,a\_2,…,a\_n

定义数组第 ii 位上的减操作:把a_ia\_ia_i+1a\_{i+1}换成a_ia_i+1a\_i - a\_{i+1}

con(a,i)con(a,i)表示减操作,可以表示为:

$$con(a,i)=\[a\_1,a\_2,…,a\_{i-1},a\_i-a\_{i+1},a\_{i+2},…,a\_n\] $$

长度为 nn 的数组,经过 n1n-1 次减操作后,就可以得到一个整数 tt

例如数组[12,10,4,3,5]经过如下操作可得到整数4:

con([12,10,4,3,5],2) = [12,6,3,5]

con([12,6,3,5] ,3) = [12,6,-2]

con([12,6,-2] ,2) = [12,8]

con([12,8] ,1) = [4]

现在给定数组以及目标整数,求完整操作过程。

输入格式

第1行包含两个整数n和t。

第2..n+1行:第i行包含数组中的第 i 个整数a_ia\_i

输出格式

输出共n-1行,每行包含一个整数,第 i 行的整数表示第 i 次减操作的操作位置。

数据范围

1n1001 \le n \le 100,
10000t10000-10000 \le t \le 10000,
1a_i1001 \le a\_i \le 100

输入样例:

5 4
12
10
4
3
5

输出样例:

2
3
2
1

来源

  • 《算法竞赛进阶指南》
  • acwing 可能含有视频讲解