#P5923. [IOI2004] empodia 障碍段

[IOI2004] empodia 障碍段

题目背景

古数学及哲学家毕氏相信自然之本质为数学。

现代生物学家研究生物数列。

题目描述

生物数列为满足下列条件的 MM 个整数所成的数列:

  • 包含从 0,1,,0, 1, …,M1M-1 的所有数字。
  • 起始数字为 00, 最后一个数字为 M1M - 1
  • 数列中 E+1E+1 不可以紧接在 EE 之后。

生物数列的连续子数列称为数段。如果一个数段的:

  • 起点为该数段最小的数字。

  • 终点为该数段最大的数字且与起点不是同一个数字。

  • 且介于这两个数字之间所有的整数都出现在这个数段中。

则称这个数段为框段。

如果框段中并不包含更短的框段,则称之为障碍段。

(0,3,5,4,6,2,1,7)这个生物数列为例。

整个生物数列是一个框段, 可是它包含了另外一框段 (3,5,4,6) ,因此该生物数列不是障碍段。而框段 (3,5,4,6) 并不包含任何更短的框段,所以它是一个障碍段,而且是此生物数列中唯一的障碍段。请写一个程序, 在 输入生物数列后, 输出所有的障碍段。

输入格式

第一行为单一整数 MM,代表生物数列的长度。

生物数列中的数字依序出现在接下来的 MM 行,每一行有一个整数。

输出格式

第一行为一整数 HH,代表该生物数列中的障碍段的个数。

接下来的 HH 行,将每一个障碍段,依照起点在原输入生物数列中出现的顺序,依序输出。

每行以 22 个整数 AABB 代表一个障碍段并以一个空格分开。

原输入生物数列第 AA 个元素为该障碍段的起点,而第 BB 个元素为该障碍段的终点。

8
0
3
5
4
6
2
1
7

1
2 5

提示

对于100%100\%的数据,M1100000M\le1100000