CF1270B Interesting Subarray
题目描述
对于一个整数数组 $a$,我们记其最大元素为 $\max(a)$,最小元素为 $\min(a)$。如果一个长度为 $k$ 的数组 $a$ 满足 $\max(a) - \min(a) \ge k$,我们称其为“有趣”的数组。例如,数组 $[1, 3, 4, 3]$ 不是有趣的,因为 $\max(a) - \min(a) = 4 - 1 = 3 < 4$,而数组 $[7, 3, 0, 4, 3]$ 是有趣的,因为 $\max(a) - \min(a) = 7 - 0 = 7 \ge 5$。
现在给定一个长度为 $n$ 的整数数组 $a$,请你找出其中一个有趣的非空子数组,或者判断不存在这样的子数组。
数组 $b$ 是数组 $a$ 的一个子数组,如果 $b$ 可以通过删除 $a$ 的开头若干元素(可能为零或全部)和末尾若干元素(可能为零或全部)得到。特别地,数组本身也是它的一个子数组。
输入格式
第一行包含一个整数 $t$($1 \le t \le 10\,000$),表示测试用例的数量。
接下来每个测试用例包含两行:
第一行包含一个整数 $n$($2 \le n \le 2 \cdot 10^5$),表示数组的长度。
第二行包含 $n$ 个整数 $a_1, a_2, \dots, a_n$($0 \le a_i \le 10^9$),表示数组的元素。
保证所有测试用例中 $n$ 的总和不超过 $2 \cdot 10^5$。
输出格式
对于每个测试用例,如果不存在有趣的非空子数组,输出一行 "NO"。
否则,输出一行 "YES"。在下一行输出两个整数 $l$ 和 $r$($1 \le l \le r \le n$),表示所选子数组的区间。如果有多种答案,可以输出任意一种。
你可以以任意大小写输出每个字母。
说明/提示
在样例的第二个测试用例中,其中一个有趣的子数组是 $a = [2, 0, 1, 9]$,此时 $\max(a) - \min(a) = 9 - 0 = 9 \ge 4$。
由 ChatGPT 4.1 翻译