CF1760D.Challenging Valleys

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Challenging Valleys

题目描述

给定一个长度为 nn 的整数数组 a[0n1]a[0 \dots n-1]。如果存在且仅存在一个子数组 a[lr]a[l \dots r] 满足以下条件,则称该数组为“山谷”:

  • 0lrn10 \le l \le r \le n-1
  • al=al+1=al+2==ara_l = a_{l+1} = a_{l+2} = \dots = a_r
  • l=0l = 0al1>ala_{l-1} > a_{l}
  • r=n1r = n-1ar<ar+1a_r < a_{r+1}

以下是三个示例:


第一张图表示数组 [3,2,2,1,2,2,3][3, 2, 2, 1, 2, 2, 3],它是一个山谷,因为只有下标 l=r=3l=r=3 的子数组满足条件。

第二张图表示数组 [1,1,1,2,3,3,4,5,6,6,6][1, 1, 1, 2, 3, 3, 4, 5, 6, 6, 6],它是一个山谷,因为只有下标 l=0,r=2l=0, r=2 的子数组满足条件。

第三张图表示数组 [1,2,3,4,3,2,1][1, 2, 3, 4, 3, 2, 1],它不是山谷,因为有两个子数组 l=r=0l=r=0l=r=6l=r=6 满足条件。

请判断给定的数组是否为山谷。

注意,数组下标从 00 开始。

输入格式

第一行包含一个整数 tt1t1041 \leq t \leq 10^4),表示测试用例的数量。

每个测试用例的第一行包含一个整数 nn1n21051 \leq n \leq 2 \cdot 10^5),表示数组的长度。

每个测试用例的第二行包含 nn 个整数 aia_i1ai1091 \leq a_i \leq 10^9),表示数组的元素。

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

输出格式

对于每个测试用例,如果该数组是山谷,输出 "YES"(不含引号);否则输出 "NO"(不含引号)。

你可以以任意大小写输出答案(例如 "yEs"、"yes"、"Yes" 和 "YES" 都会被识别为正确答案)。

说明/提示

前三个测试用例的解释见题面。

由 ChatGPT 4.1 翻译

样例

6
7
3 2 2 1 2 2 3
11
1 1 1 2 3 3 4 5 6 6 6
7
1 2 3 4 3 2 1
7
9 7 4 6 9 9 10
1
1000000000
8
9 4 4 5 9 4 9 10
YES
YES
NO
YES
YES
NO

在线编程 IDE

建议全屏模式获得最佳体验