#CSES2075. 翻转排序

翻转排序

题目背景

翻译自 CSES-2075 题。

题目描述

给定一个包含整数 1,2,,n1, 2, \dots, n 的排列数组。你的任务是通过翻转子数组将该数组按升序排序。你可以构造一个方案,使得翻转的次数最多为 nn 次。

输入格式

第一行包含一个整数 nn:数组的大小,数组元素为 1,2,,n1, 2, \dots, n

第二行包含 nn 个整数 x1,x2,,xnx_1, x_2, \dots, x_n:数组的内容。

输出格式

第一行输出一个整数 kk:翻转的次数。

接下来的 kk 行,每行包含两个整数 aabb,表示你翻转了从位置 aa 到位置 bb 的子数组。

样例

4
2 3 1 4
2
1 3
2 3

说明/提示

1n2×1051 \leq n \leq 2 \times 10^5