CF1760D.Challenging Valleys
入门
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given an array a[0…n−1] of n integers. This array is called a "valley" if there exists exactly one subarray a[l…r] such that:
- 0≤l≤r≤n−1,
- al=al+1=al+2=⋯=ar,
- l=0 or al−1>al,
- r=n−1 or ar<ar+1.
Here are three examples:

The first image shows the array [3,2,2,1,2,2,3], it is a valley because only subarray with indices l=r=3 satisfies the condition.
The second image shows the array [1,1,1,2,3,3,4,5,6,6,6], it is a valley because only subarray with indices l=0,r=2 satisfies the codition.
The third image shows the array [1,2,3,4,3,2,1], it is not a valley because two subarrays l=r=0 and l=r=6 that satisfy the condition.
You are asked whether the given array is a valley or not.
Note that we consider the array to be indexed from 0.
给你一个包含 n 个整数的数组 a[0…n−1]。若该数组中恰好存在一个子数组 a[l…r] 满足以下全部条件,则称该数组为“山谷”(valley):
- 0≤l≤r≤n−1,
- al=al+1=al+2=⋯=ar,
- l=0 或 al−1>al,
- r=n−1 或 ar<ar+1。
以下是三个示例:

第一张图展示数组 [3,2,2,1,2,2,3],它是一个山谷,因为仅下标满足 l=r=3 的子数组符合上述条件。
第二张图展示数组 [1,1,1,2,3,3,4,5,6,6,6],它是一个山谷,因为仅下标满足 l=0,r=2 的子数组符合条件。
第三张图展示数组 [1,2,3,4,3,2,1],它不是一个山谷,因为有两个子数组(l=r=0 和 l=r=6)均满足条件。
你需要判断给定的数组是否为一个山谷。
注意:我们约定数组下标从 0 开始。
输入格式
The first line contains a single integer t (1≤t≤104) — the number of test cases.
The first line of each test case contains a single integer n (1≤n≤2⋅105) — the length of the array.
The second line of each test case contains n integers ai (1≤ai≤109) — the elements of the array.
It is guaranteed that the sum of n over all test cases is smaller than 2⋅105.
第一行包含一个整数 t(1≤t≤104)——测试用例的数量。
每个测试用例的第一行包含一个整数 n(1≤n≤2⋅105)——数组的长度。
每个测试用例的第二行包含 n 个整数 ai(1≤ai≤109)——数组的元素。
保证所有测试用例的 n 之和小于 2⋅105。
输出格式
For each test case, output "YES" (without quotes) if the array is a valley, and "NO" (without quotes) otherwise.
You can output the answer in any case (for example, the strings "yEs", "yes", "Yes" and "YES" will be recognized as a positive answer).
对于每个测试用例,如果该数组是一个山谷数组(valley),则输出 "YES"(不带引号);否则输出 "NO"(不带引号)。
你可以以任意大小写形式输出答案(例如,字符串 "yEs"、"yes"、"Yes" 和 "YES" 均被视为正确答案)。
输入输出样例
输入#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
输出#1
YES YES NO YES YES NO
说明/提示
The first three test cases are explained in the statement.
前三个测试用例在题目描述中已作解释。
输入解题思路,AI测评打分。不知道怎么写?