P11890 [XRCOI Round 1] A. 相聚相逢本无意

题目背景

> 花开花落终有时,相聚相逢本无意。

题目描述

初见时,她给了小 S 一个可以为空的序列 $A$,长度为 $n$。 她定义了序列的**前缀 MEX 序列** $B$,满足 $B$ 的第 $i$ 项为 $\text{MEX}\{A_1,A_2,\dots,A_i\}$,对于一个由有限个非负整数组成的数列 $X$,我们定义 $\text{MEX}$ 为数列中**不包含的最小非负整数**。比如 $\text{MEX}\{1,2,3\}=0,\text{MEX}\{0,1,2,4\}=3$。 作为初见时的考验,小 S 需要构造一个**单调不降**的 $A$ 数组,使得其前缀 $\text{MEX}$ 数组 $B$ 满足一些约束。或者判定没有任何一种符合要求的 $A$ 存在。 具体的,$B$ 数组需要满足的限制形如 $k$ 个二元组 $(x,y)$,表示数 $x$ 在 $B$ 中**恰好**出现了 $y$ 次。 不需要最小化构造的 $A$ 数组的大小或者使构造满足其它没有给定的额外条件。 小 S 不会这个问题,所以他请你来帮忙了。

输入格式

第一行一个非负整数 $k$,表示构造的 $A$ 需要满足的二元组的个数。 接下来 $k$ 行,每行 $2$ 个非负整数,表示一个二元组 $(x,y)$。

输出格式

如果不存在合法情况,输出一行一个数 $-1$。 否则输出两行: 第一行一个整数 $n$,为你构造的序列 $A$ 的长度,需满足 $0\le n\le 2\times 10^5$。 第二行 $n$ 个正整数,为你构造的序列 $A$ 的元素,需满足 $0\le A_i\le 10^9$ 且 $\forall i\in[1,n-1],A_i\le A_{i+1}$。

说明/提示

#### 样例解释 第一个样例中,构造出来的 $B=(1,2,2,2,3,4)$, 符合以上 $k$ 个二元组的要求。 更详细的,有: $B_1=\text{MEX}\{A_1\}=\text{MEX}\{0\}=1$; $B_2=\text{MEX}\{A_1,A_2\}=\text{MEX}\{0,1\}=2$; $B_3=\text{MEX}\{A_1,A_2,A_3\}=\text{MEX}\{0,1\}=2$; $B_4=\text{MEX}\{A_1,A_2,A_3,A_4\}=\text{MEX}\{0,1\}=2$; $B_5=\text{MEX}\{A_1,A_2,A_3,A_4,A_5\}=\text{MEX}\{0,1,2\}=3$; $B_6=\text{MEX}\{A_1,A_2,A_3,A_4,A_5,A_6\}=\text{MEX}\{0,1,2,3\}=4$。 第二个样例中,可以证明没有任何一个 $A$ 满足要求。 #### 数据规模与约定 **本题采用捆绑测试和子任务依赖并开启 Special Judge。** 你可以输出任意一组满足条件的情况,如果不存在合法情况输出 $-1$。 其中子任务 $0$ 为样例,记 $0$ 分。 | 子任务编号 | 分值 | 特殊性质 | 子任务依赖 | | :--------: | :--: | :---------------: | :--------: | | $1$ | $30$ | $x\not=0,y\not=0$ | 无 | | $2$ | $30$ | $x\not=0$ | $1$ | | $3$ | $30$ | $y\not=0$ | $1$ | | $4$ | $10$ | 无特殊性质 | $1,2,3$ | 对于 $100 \%$ 的数据,保证 $0\le k,x,y\le 100$,且给出的二元组中 $x$ 两两不同。 **不保证 $x$ 单调递增。**