题目描述
给定一个长度为 N 的数组 A=[A1,A2,⋅⋅⋅,AN],数组中有可能有重复出现的整数。
现在小明要按以下方法将其修改为没有重复整数的数组。小明会依次修改A2,A3,⋅⋅⋅,AN。
当修改 Ai 时,小明会检查 Ai 是否在A1 ∼ Ai−1 中出现过。如果出现过,则小明会给 Ai 加上 1 ;如果新的 Ai 仍在之前出现过,小明会持续给 Ai 加 1 ,直 到 Ai 没有在 A1 ∼Ai−1 中出现过。
当 AN 也经过上述修改之后,显然 A 数组中就没有重复的整数了。
现在给定初始的 A 数组,请你计算出最终的A 数组。
输入描述
第一行包含一个整数 N。
第二行包含N 个整数 A1,A2,⋅⋅⋅,AN。
其中,1≤N≤10e5,1≤Ai≤10e6。
输出描述
输出 N 个整数,依次是最终的A1,A2,⋅⋅⋅,AN。
输入输出样例
示例
输入
5
2 1 1 3 4
输出
2 1 3 4 5
运行限制
- 最大运行时间:1s
- 最大运行内存: 256M
-
n=int(input()) vis=[0 for i in range(1000100)] def bcj(x): if (vis[x]==0): vis[x]=x+1 return x vis[x] = bcj(vis[x]) return vis[x] l=list(map(int,input().split())) for i in range(len(l)-1): print(bcj(l[i]),end=" ") print(bcj(l[-1]))