#CF2072D. For Wizards, the Exam Is Easy, but I Couldn't Handle It
For Wizards, the Exam Is Easy, but I Couldn't Handle It
题目描述
Akito 厌倦了在银行当普通锁匠,于是决定进入魔法学院,成为世界上最厉害的巫师。为了入学,他需要解决考试中的一道题。
给定一个长度为 的数组 。你需要恰好施放一次魔法:选择两个整数 ,满足 ,然后将子数组 循环左移一位。
也就是说,原数组
$$[a_1,a_2,\ldots,a_{l-1},a_l,a_{l+1},\ldots,a_{r-1},a_r,a_{r+1},\ldots,a_n]$$会变成
$$[a_1,a_2,\ldots,a_{l-1},a_{l+1},a_{l+2},\ldots,a_r,a_l,a_{r+1},\ldots,a_n].$$你的目标是选择 ,使施法后数组中的逆序对数量最少。
长度为 的数组 中,一个逆序对指一对下标 ,满足 且 。例如,在数组 中,逆序对为 、、。
输入格式
第一行输入一个整数 ,表示测试用例数。
每个测试用例包含两行:
- 第一行输入一个整数 ,表示数组长度;
- 第二行输入 个整数 。
输出格式
对于每个测试用例,输出两个整数 和 ,表示应选择的子数组边界。
如果有多组最优答案,输出任意一组即可。
输入输出样例
输入
9
7
1 4 3 2 5 3 3
6
1 4 3 2 5 3
8
7 6 5 8 4 3 2 1
10
1 1 1 5 1 1 5 6 7 8
2
1337 69
4
2 1 2 1
3
998 244 353
3
1 2 1
9
1 1 2 3 5 8 13 21 34
输出
2 7
2 4
1 8
4 6
1 2
1 4
1 3
2 3
5 5
说明/提示
第一个样例中,选择 后,数组变为 ,其中逆序对数量为 。可以证明无法得到更少的逆序对。
第二个样例中,选择 后,数组变为 ,逆序对数量为 。选择 也同样最优。
第四个样例中,选择 后,数组变为 ,数组已经有序。
最后一个样例中,数组一开始就是有序的,此时任意长度至少为 的操作都会增加逆序对数量,因此可以选择长度为 的区间。
数据范围
- ;
- ;
- ;
- 所有测试用例的 之和不超过 。
时间限制:,空间限制:。
相关
在下列比赛中: