题目描述
给定一个长度为M的序列A=(A1,A2,…,AM),其中的元素都是介于1和N−1之间的整数(包括1和N−1)。对于所有满足i=1,2,…,M的情况,回答以下问题:
- 给定一个序列B=(B1,B2,…,BN)。初始时,我们有Bj=j对于所有j。按照以下顺序执行操作k=1,2,…,i−1,i+1,…,M(换言之,对于除了i之外的所有整数k按升序进行操作):
- 交换BAk和BAk+1的值。
- 在所有操作完成后,令Si为满足Bj=1的j的值。找到Si。
约束条件
- 2≤N≤2×105
- 1≤M≤2×105
- 1≤Ai≤N−1 (1≤i≤M)
- 输入中的所有值都是整数。
输入和输出
输入通过标准输入给出,格式如下:
N M
A1 A2 … AM
输出M行。第i行(1≤i≤M)应包含一个整数值Si。
样例输入 1
5 4
1 2 3 2
样例输出 1
1
3
2
4
当i=2时,操作会将B更改如下:
- 初始时,B=(1,2,3,4,5)。
- 执行k=1的操作。交换B1和B2的值,得到B=(2,1,3,4,5)。
- 执行k=3的操作。交换B3和B4的值,得到B=(2,1,4,3,5)。
- 执行k=4的操作。交换B2和B3的值,得到B=(2,4,1,3,5)。
在完成所有操作后,我们有B3=1,因此S2=3。
类似地,我们有以下结果。
- 当i=1时:按顺序执行k=2,3,4的操作,得到B=(1,4,3,2,5),因此S1=1。
- 当i=3时:按顺序执行k=1,2,4的操作,得到B=(2,1,3,4,5),因此S3=2。
- 当i=4时:按顺序执行k=1,2,3的操作,得到B=(2,3,4,1,5),因此S4=4。
样例输入 2
3 3
2 2 2
样例输出 2
1
1
1
样例输入 3
10 10
1 1 1 9 4 4 2 1 3 3
样例输出 3
2
2
2
3
3
3
1
3
4
4