传统题 1000ms 256MiB

寻找第一个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暑假联合集训

HGNU ACM Training Round #8

未参加
状态
已结束
规则
ACM/ICPC
题目
12
开始于
2022-7-9 13:00
结束于
2022-7-9 18:00
持续时间
5 小时
主持人
参赛人数
28