欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1838B.Minimize Permutation Subarrays
Minimize Permutation Subarrays
You are given a permutation of size . You want to minimize the number of subarrays of that are permutations. In order to do so, you must perform the following operation exactly once:
- Select integers , , where , then
- Swap and .
For example, if and we choose , , the resulting array will be . If instead we choose , the resulting array will be .
Which choice of and will minimize the number of subarrays that are permutations?
A permutation of length is an array consisting of distinct integers from to in arbitrary order. For example, is a permutation, but is not a permutation ( appears twice in the array), and is also not a permutation ( but there is in the array).
An array is a subarray of an array if can be obtained from by the deletion of several (possibly, zero or all) elements from the beginning and several (possibly, zero or all) elements from the end.
Input
The first line of the input contains a single integer () — the number of test cases. The description of the test cases follows.
The first line of each test case contains a single integer () — the size of the permutation.
The next line of each test case contains integers (, all are distinct) — the elements of the permutation .
It is guaranteed that the sum of over all test cases does not exceed .
Output
For each test case, output two integers and () — the indices to swap in .
If there are multiple solutions, print any of them.
Note
For the first test case, there are four possible arrays after the swap:
- If we swap and , we get the array , which has 3 subarrays that are permutations (, , ).
- If we swap and , we get the array , which has 3 subarrays that are permutations (, , ).
- If we swap and , we get the array , which has 2 subarrays that are permutations (, ).
- If we swap any element with itself, we get the array , which has 3 subarrays that are permutations (, , ).
So the best swap to make is positions and .
For the third sample case, after we swap elements at positions and , the resulting array is . The only subarrays that are permutations are and . We can show that this is minimal.
Samples
8
3
1 2 3
3
1 3 2
5
1 3 2 5 4
6
4 5 6 1 2 3
9
8 7 6 3 2 1 4 5 9
10
7 10 5 1 9 8 3 2 6 4
10
8 5 10 9 2 1 3 4 6 7
10
2 3 5 7 10 1 8 6 4 9
2 3
1 1
5 2
1 4
9 5
8 8
6 10
5 4
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |