U438090 [SUMMER STU] First Zero (Hard Version)
题目背景
UPDATE: `2024/8/13` 新增一组 hack 数据
题目描述
给你一个 $01$ 序列,一开始都为 $0$.
告诉你若干个点 $i$,表示第 $i$ 个点将被标记为 $1$.
请你在每次修改后,输出区间 $[i,n]$ 从左数第一个 $0$ 的位置.
输入格式
第一个数 $n$ 表示序列的长度.
随后 $n-1$ 行,每行一个 $i$,表示修改的点.
输出格式
$n-1$ 行,输出每次修改后目标区间从左数第一个 $0$ 的位置. 特别地,如果没有剩余的 $0$,请你输出 $-1$.
说明/提示
输入数据满足 $n\le 5\times 10^{6}$
**本题输入量较大(最大点约为 `48MB`),请你尽量选择较快的读入方式**
本题提供快读模板
```cpp
inline long long read(){long long x=0,f=1;char ch=getchar();while(ch'9'){if(ch=='-'){f=-1;}ch=getchar();}while(ch>='0'&&ch