[IOI2004] empodia 障碍段
题目背景
古数学及哲学家毕氏相信自然之本质为数学。
现代生物学家研究生物数列。
题目描述
生物数列为满足下列条件的 $M$ 个整数所成的数列:
- 包含从 $0, 1, …,$ 到 $M-1$ 的所有数字。
- 起始数字为 $0$, 最后一个数字为 $M - 1$。
- 数列中 $E+1$ 不可以紧接在 $E$ 之后。
生物数列的连续子数列称为数段。如果一个数段的:
- 起点为该数段最小的数字。
- 终点为该数段最大的数字且与起点不是同一个数字。
- 且介于这两个数字之间所有的整数都出现在这个数段中。
则称这个数段为框段。
如果框段中并不包含更短的框段,则称之为障碍段。
以`(0,3,5,4,6,2,1,7)`这个生物数列为例。
整个生物数列是一个框段, 可是它包含了另外一框段 `(3,5,4,6)` ,因此该生物数列不是障碍段。而框段 `(3,5,4,6)` 并不包含任何更短的框段,所以它是一个障碍段,而且是此生物数列中唯一的障碍段。请写一个程序, 在
输入生物数列后, 输出所有的障碍段。
输入输出格式
输入格式
第一行为单一整数 $M$,代表生物数列的长度。
生物数列中的数字依序出现在接下来的 $M$ 行,每一行有一个整数。
输出格式
第一行为一整数 $H$,代表该生物数列中的障碍段的个数。
接下来的 $H$ 行,将每一个障碍段,依照起点在原输入生物数列中出现的顺序,依序输出。
每行以 $2$ 个整数 $A$ 与 $B$ 代表一个障碍段并以一个空格分开。
原输入生物数列第 $A$ 个元素为该障碍段的起点,而第 $B$ 个元素为该障碍段的终点。
输入输出样例
输入样例 #1
8
0
3
5
4
6
2
1
7
输出样例 #1
1
2 5
说明
对于$100\%$的数据,$M\le1100000$。