题目背景
花开花落终有时,相聚相逢本无意。
题目描述
初见时,她给了小 S 一个可以为空的序列 A,长度为 n。
她定义了序列的前缀 MEX 序列 B,满足 B 的第 i 项为 MEX{A1,A2,…,Ai},对于一个由有限个非负整数组成的数列 X,我们定义 MEX 为数列中不包含的最小非负整数。比如 MEX{1,2,3}=0,MEX{0,1,2,4}=3。
作为初见时的考验,小 S 需要构造一个单调不降的 A 数组,使得其前缀 MEX 数组 B 满足一些约束。或者判定没有任何一种符合要求的 A 存在。
具体的,B 数组需要满足的限制形如 k 个二元组 (x,y),表示数 x 在 B 中恰好出现了 y 次。
不需要最小化构造的 A 数组的大小或者使构造满足其它没有给定的额外条件。
小 S 不会这个问题,所以他请你来帮忙了。
输入格式
第一行一个非负整数 k,表示构造的 A 需要满足的二元组的个数。
接下来 k 行,每行 2 个非负整数,表示一个二元组 (x,y)。
输出格式
如果不存在合法情况,输出一行一个数 −1。
否则输出两行:
第一行一个整数 n,为你构造的序列 A 的长度,需满足 0≤n≤2×105。
第二行 n 个正整数,为你构造的序列 A 的元素,需满足 0≤Ai≤109 且 ∀i∈[1,n−1],Ai≤Ai+1。
提示
样例解释
第一个样例中,构造出来的 B=(1,2,2,2,3,4), 符合以上 k 个二元组的要求。
更详细的,有:
B1=MEX{A1}=MEX{0}=1;
B2=MEX{A1,A2}=MEX{0,1}=2;
B3=MEX{A1,A2,A3}=MEX{0,1}=2;
B4=MEX{A1,A2,A3,A4}=MEX{0,1}=2;
B5=MEX{A1,A2,A3,A4,A5}=MEX{0,1,2}=3;
B6=MEX{A1,A2,A3,A4,A5,A6}=MEX{0,1,2,3}=4。
第二个样例中,可以证明没有任何一个 A 满足要求。
数据规模与约定
本题采用捆绑测试和子任务依赖并开启 Special Judge。
你可以输出任意一组满足条件的情况,如果不存在合法情况输出 −1。
其中子任务 0 为样例,记 0 分。
子任务编号 |
分值 |
特殊性质 |
子任务依赖 |
1 |
30 |
x=0,y=0 |
无 |
2 |
x=0 |
1 |
3 |
y=0 |
4 |
10 |
无特殊性质 |
1,2,3 |
对于 100% 的数据,保证 0≤k,x,y≤100,且给出的二元组中 x 两两不同。
不保证 x 单调递增。