logo AlgoBeat OnlineJudge
登录 注册

#213838. 『GTOI - 2C』Fliping

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

给出一个 的排列 ,请问能否通过不超过 次操作使数组 单调递增

对于每次操作,你可以翻转一个长度至少 的区间。

其中,“翻转”指的是:例如数组 ,翻转区间是 的话,结果是

如果可以,输出一种构造方案,具体请参考 【输出格式】

如果不可以,输出 -1

输入格式

输入共两行。

第一行,一个正整数

第二行,一个 的排列

输出格式

如果存在构造方案:

  • 输出一个非负整数 表示总共需要操作的次数。
  • 然后输出 行,每行两个正整数 表示每次翻转的区间

本题使用 Special Judge ,若有多组构造方案,任意输出一组即可。

如果不存在构造方案,输出 -1 即可。

样例

样例输入 1

5
2 5 4 3 1

样例输出 1

3
1 4
1 3
1 5

数据范围与提示

【数据范围】

本题采用捆绑测试。

对于 的数据,保证 的排列。

特殊性质 分数
^
保证 随机生成
^ 保证