#CODEFORCESP8470. Dora and Search(※※)

    ID: 1092 远端评测题 1000ms 256MiB 尝试: 32 已通过: 5 难度: 8 上传者: 标签>constructive algorithmsdata structurestwo pointers*1200translated

Dora and Search(※※)

题目描述

给定一个长度为 nn 的排列 aa ,问是否存在正整数 l,rl,r 使得 al,ara_l,a_r 均不为 al...ra_{l...r} 中的最大值或最小值。

输入格式

每个测试由多个测试用例组成。第一行包含一个整数 tt (1t1041 \leq t \leq 10^4) - 测试用例的个数。测试用例说明如下。

对于每个测试用例,第一行包含一个整数 nn (1n21051 \leq n \leq 2 \cdot 10^5) - 排列长度。

第二行包含 nn 个不同的整数 a1,a2,,ana_1, a_2, \ldots, a_n1ain1 \leq a_i \leq n)--元素。(1ain1 \leq a_i \leq n) - 排列元素。

保证所有测试用例的nn之和不超过21052 \cdot 10^5

输出格式

对于每个测试用例,如果所需分段不存在,则输出 1-1

否则,输出两个索引 l,rl, r,使得 [al,al+1,,ar][a_{l}, a_{l + 1}, \ldots, a_{r}] 满足所有条件。

如果有多个解决方案,则输出其中任意一个。

样例 #1

样例输入 #1

4
3
1 2 3
4
2 1 4 3
7
1 3 2 4 6 5 7
6
2 3 6 5 4 1

样例输出 #1

-1
1 4
2 6
-1

提示

在第一和第四个测试用例中,可以看出没有理想的分段。

在第二个测试案例中,子线段 [1,4][1, 4] 满足所有条件,因为我们看到 $\max(a_1, a_2, a_3, a_4) = 4, \min(a_1, a_2, a_3, a_4) = 1$ 满足所有条件。

在第三个测试用例中,子区段[2,6][2, 6]也满足所述的所有条件。