QOJ.ac

QOJ

Limite de temps : 1 s Limite de mémoire : 64 MB Points totaux : 100

#13805. Empodia

Statistiques

古希腊数学家和哲学家毕达哥拉斯认为,现实的本质是数学。如今的生物学家致力于研究生物序列(biosequence)的性质。一个生物序列是由 $M$ 个整数组成的序列,它满足以下条件:

  • 包含 $0, 1, \dots, M-1$ 中的每一个数,
  • 以 $0$ 开始,以 $M-1$ 结束,且
  • 不存在相邻的两个元素,其值依次为 $E$ 和 $E+1$(即不存在相邻位置的元素满足后一个元素比前一个元素恰好大 $1$)。

生物序列中由相邻元素组成的子序列称为(segment)。

如果生物序列的一个段满足以下条件,则称其为框定区间(framed interval):它包含了介于其首元素和尾元素之间的所有整数,其中首元素必须是该段中的最小元素,尾元素必须是该段中的最大元素,且首尾元素不相同。如果一个框定区间不包含任何更短的框定区间,则称其为 empodio(复数形式为 empodia)。

例如,考虑生物序列 $(0, 3, 5, 4, 6, 2, 1, 7)$。整个生物序列是一个框定区间。然而,它包含了另一个框定区间 $(3, 5, 4, 6)$,因此它不是一个 empodio。框定区间 $(3, 5, 4, 6)$ 不包含更短的框定区间,因此它是一个 empodio。此外,它是该生物序列中唯一的 empodio。

你需要编写一个程序,在给定的生物序列中找出所有的 empodia。

输入格式

第一行包含一个整数 $M$,表示输入生物序列中的整数个数。

接下来的 $M$ 行按顺序包含生物序列中的整数。这 $M$ 行中的每一行都包含一个整数。

输出格式

第一行包含一个整数 $H$,表示输入生物序列中 empodia 的数量。

接下来的 $H$ 行按起点在生物序列中出现的顺序描述所有 empodia。每行包含两个整数 $A$ 和 $B$(按此顺序),用空格分隔,其中输入生物序列的第 $A$ 个元素是该 empodio 的首元素,第 $B$ 个元素是该 empodio 的尾元素(索引从 1 开始)。

样例

样例输入 1

8
0
3
5
4
6
2
1
7

样例输出 1

1
2 5

数据范围

在其中一个测试点中,$1000000 \le M \le 1100000$。

在所有其他测试点中,$1 \le M \le 60000$。

此外,在 50% 的测试点中,$M \le 2600$。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.