#P45. 寻找第一个0
寻找第一个0
题目描述
在长度为$n$的序列上,有$n$个$0$,他们的标号从$1$到$n$。现在,有$m$次突变,每次可以将标号为$x$的点变成$1$,如果本来就是$1$,就不会有任何变化产生。现在,对于每一次突变,我们想知道标号最小的$0$的标号是多少?
输入格式
第一行输入两个整数$n, m(1≤n≤10^7, 1≤m<min(5\times10^6, n))$。
接下去$m$行,每行一个整数$x(1≤x≤n)$。
输出格式
对于每次突变,输出标号最小的$0$的标号。
样例
10 5
3
2
1
6
4
1
1
4
4
5
提示
inline int read()
{
int x = 0; char c = getchar();
while (c < '0' || c > '9') c = getchar();
while (c >= '0' && c <= '9') { x = (x << 3) + (x << 1) + c - '0'; c = getchar();}
return x;
}
来源
2022 HGNU-SWUT暑假联合集训