#5487. CSES2075 翻转排序

0

CSES2075 翻转排序

#CS2075. 翻转排序

翻转排序

题目背景

翻译自 CSES-2075 题。

题目描述

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

输入格式

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

第二行包含 n 个整数 x1,x2,…,xnx_1, x_2, \dots, x_nx1​,x2​,…,xn​:数组的内容。

输出格式

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

接下来的 k 行,每行包含两个整数 a 和 b,表示你翻转了从位置 a 到位置 b 的子数组。

样例

4
2 3 1 4
2
1 3
2 3

说明/提示

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