题目描述
有一个长度为 n 的数组 a,初始值全为 0。其差分数组 d 初始值也全为 0。差分数组与原数组的关系为:a[i]=a[i−1]+d[i](即 a 是 d 的前缀和)。
现在要对差分数组 d 进行 m 次操作,每次操作给出一个整数 k,表示将 d[k] 的值加 1。每次操作结束后,请分别输出当前的差分数组 d 和原数组 a。
输入格式
第一行包含两个整数 n 和 m,分别表示数组长度和操作次数。
接下来 m 行,每行一个整数 k,表示本次操作要将 d[k] 加 1。
输出格式
共 2×m 行。每连续两行对应一次操作后的结果:第一行输出 n 个整数,表示差分数组 d;第二行输出 n 个整数,表示原数组 a。整数之间用一个空格隔开。
样例
5 2
2
4
0 1 0 0 0
0 1 1 1 1
0 1 0 1 0
0 1 1 2 2
样例解释
初始时 a=[0,0,0,0,0],d=[0,0,0,0,0]。
第一次操作 k=2:d[2] 加 1,d 变为 [0,1,0,0,0],对应的 a 变为 [0,1,1,1,1]。
第二次操作 k=4:d[4] 加 1,d 变为 [0,1,0,1,0],对应的 a 变为 [0,1,1,2,2]。
数据范围与提示
- 1≤n≤103
- 1≤m≤103
- 1≤k≤n
- 差分数组 d 中的值不会超过 103。