AT_abc411_c [ABC411C] Black Intervals

题目描述

一排有 $N$ 个格子,初始时所有格子均为白色。 你需要依次处理 $Q$ 个查询。第 $i$ 个查询会给出一个整数 $A_i$,并执行以下操作: 翻转从左数第 $A_i$ 个格子的颜色。具体来说,如果该格子当前为白色,则将其涂黑;如果当前为黑色,则将其涂白。之后,统计当前所有连续的黑色格子区间的数量。 这里,连续的黑色格子区间是指满足以下所有条件的整数对 $(l, r)$($1 \le l \le r \le N$): - 从左数第 $l$ 到第 $r$ 个格子均为黑色; - $l = 1$,或者从左数第 $(l − 1)$ 个格子为白色; - $r = N$,或者从左数第 $(r + 1)$ 个格子为白色。

输入格式

第一行为 $N,Q$,表示格子的个数和询问数。 接下来 $Q$ 个数 $A_1,A_2,A_3 \dots A_Q$,表示每一个询问的参数。

输出格式

输出 $Q$ 行。对于第 $i$ 行,为第 $i$ 个询问的答案。

说明/提示

**样例解释#1** 以下将从左数第 $i$ 个格子简称为格子 $i$。 每次查询后的状态如下: 第 $1$ 次查询后:仅格子 $2$ 被涂黑。存在 $1$ 个连续黑色区间:$(l,r)=(2,2)$。 第 $2$ 次查询后:格子 $2$、$3$ 被涂黑。存在 $1$ 个连续黑色区间:$(l,r)=(2,3)$。 第 $3$ 次查询后:仅格子 $2$ 被涂黑。存在 $1$ 个连续黑色区间:$(l,r)=(2,2)$。 第 $4$ 次查询后:格子 $2、5$ 被涂黑。存在 $2$ 个连续黑色区间:$(l,r)=(2,2)$ 和 $(l,r)=(5,5)$。 第 $5$ 次查询后:格子 $1、2、5$ 被涂黑。存在 $2$ 个连续黑色区间:$(l,r)=(1,2)$ 和 $(l,r)=(5,5)$。 第 $6$ 次查询后:仅格子 $1、2$ 被涂黑。存在 $1$ 个连续黑色区间:$(l,r)=(1,2)$。 第 $7$ 次查询后:仅格子 $1$ 被涂黑。存在 $1$ 个连续黑色区间:$(l,r)=(1,1)$。 因此,输出应为换行分隔的序列: > $1$ > $1$ > $1$ > $2$ > $2$ > $1$ > $1$ > **数据范围** 对于 $100\%$ 的数据保证: - $1 \le N,Q \le 5×10^5$; - $1 \le A_i \le N$; - 读入的所有数都是整数。