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

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

题目背景

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

题目描述

初见时,她给了小 S 一个可以为空的序列 AA,长度为 nn

她定义了序列的前缀 MEX 序列 BB,满足 BB 的第 ii 项为 MEX{A1,A2,,Ai}\text{MEX}\{A_1,A_2,\dots,A_i\},对于一个由有限个非负整数组成的数列 XX,我们定义 MEX\text{MEX} 为数列中不包含的最小非负整数。比如 MEX{1,2,3}=0,MEX{0,1,2,4}=3\text{MEX}\{1,2,3\}=0,\text{MEX}\{0,1,2,4\}=3

作为初见时的考验,小 S 需要构造一个单调不降AA 数组,使得其前缀 MEX\text{MEX} 数组 BB 满足一些约束。或者判定没有任何一种符合要求的 AA 存在。

具体的,BB 数组需要满足的限制形如 kk 个二元组 (x,y)(x,y),表示数 xxBB恰好出现了 yy 次。

不需要最小化构造的 AA 数组的大小或者使构造满足其它没有给定的额外条件。

小 S 不会这个问题,所以他请你来帮忙了。

输入格式

第一行一个非负整数 kk,表示构造的 AA 需要满足的二元组的个数。

接下来 kk 行,每行 22 个非负整数,表示一个二元组 (x,y)(x,y)

输出格式

如果不存在合法情况,输出一行一个数 1-1

否则输出两行:

第一行一个整数 nn,为你构造的序列 AA 的长度,需满足 0n2×1050\le n\le 2\times 10^5

第二行 nn 个正整数,为你构造的序列 AA 的元素,需满足 0Ai1090\le A_i\le 10^9i[1,n1],AiAi+1\forall i\in[1,n-1],A_i\le A_{i+1}

输入数据 1

4
1 1
3 1
2 3
4 1

输出数据 1

6
0 1 1 1 2 3 

输入数据 2

4
1 1
3 0
2 3
4 1

输出数据 2

-1

提示

样例解释

第一个样例中,构造出来的 B=(1,2,2,2,3,4)B=(1,2,2,2,3,4), 符合以上 kk 个二元组的要求。

更详细的,有:

B1=MEX{A1}=MEX{0}=1B_1=\text{MEX}\{A_1\}=\text{MEX}\{0\}=1

B2=MEX{A1,A2}=MEX{0,1}=2B_2=\text{MEX}\{A_1,A_2\}=\text{MEX}\{0,1\}=2

B3=MEX{A1,A2,A3}=MEX{0,1}=2B_3=\text{MEX}\{A_1,A_2,A_3\}=\text{MEX}\{0,1\}=2

B4=MEX{A1,A2,A3,A4}=MEX{0,1}=2B_4=\text{MEX}\{A_1,A_2,A_3,A_4\}=\text{MEX}\{0,1\}=2

B5=MEX{A1,A2,A3,A4,A5}=MEX{0,1,2}=3B_5=\text{MEX}\{A_1,A_2,A_3,A_4,A_5\}=\text{MEX}\{0,1,2\}=3

B6=MEX{A1,A2,A3,A4,A5,A6}=MEX{0,1,2,3}=4B_6=\text{MEX}\{A_1,A_2,A_3,A_4,A_5,A_6\}=\text{MEX}\{0,1,2,3\}=4

第二个样例中,可以证明没有任何一个 AA 满足要求。

数据规模与约定

本题采用捆绑测试和子任务依赖并开启 Special Judge。

你可以输出任意一组满足条件的情况,如果不存在合法情况输出 1-1

其中子任务 00 为样例,记 00 分。

子任务编号 分值 特殊性质 子任务依赖
11 3030 x0,y0x\not=0,y\not=0
22 x0x\not=0 11
33 y0y\not=0
44 1010 无特殊性质 1,2,31,2,3

对于 100%100 \% 的数据,保证 0k,x,y1000\le k,x,y\le 100,且给出的二元组中 xx 两两不同。

不保证 xx 单调递增。