CF1398A Bad Triangle
题目描述
给定一个按非递减顺序排序的数组 $a_1, a_2, \dots, a_n$(即 $a_i \le a_{i+1}$)。
请你找到三个下标 $i$、$j$、$k$,满足 $1 \le i < j < k \le n$,并且无法用 $a_i$、$a_j$ 和 $a_k$ 作为边长构成一个非退化三角形(即面积不为零的三角形)。例如,边长为 $3$、$4$ 和 $5$ 可以构成非退化三角形,但边长为 $3$、$4$ 和 $7$ 则不行。如果不存在这样的三元组,请输出 -1。
输入格式
第一行包含一个整数 $t$($1 \le t \le 1000$),表示测试用例的数量。
每个测试用例的第一行包含一个整数 $n$($3 \le n \le 5 \cdot 10^4$),表示数组 $a$ 的长度。
每个测试用例的第二行包含 $n$ 个整数 $a_1, a_2, \dots, a_n$($1 \le a_i \le 10^9$,$a_{i-1} \le a_i$),表示数组 $a$。
保证所有测试用例中 $n$ 的总和不超过 $10^5$。
输出格式
对于每个测试用例,输出一行答案。
如果存在一组三元组下标 $i$、$j$、$k$($i < j < k$),使得无法用 $a_i$、$a_j$ 和 $a_k$ 构成非退化三角形,输出这三个下标,按升序排列。如果有多组答案,输出任意一组即可。
如果不存在这样的三元组,输出 -1。
说明/提示
在第一个测试用例中,边长为 $6$、$11$ 和 $18$ 时无法构成非退化三角形。注意,这并不是唯一的正确答案。
在第二个测试用例中,总是可以构成非退化三角形。
由 ChatGPT 4.1 翻译