CF1760D.Challenging Valleys

入门

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given an array a[0…n−1]a[0 \dots n-1] of nn integers. This array is called a "valley" if there exists exactly one subarray a[l…r]a[l \dots r] such that:

  • 0≤l≤r≤n−10 \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 = 0 or al−1>ala_{l-1} \gt a_{l},
  • r=n−1r = n-1 or ar<ar+1a_r \lt a_{r+1}.

Here are three examples:

The first image shows the array [3,2,2,1,2,2,33, 2, 2, 1, 2, 2, 3], it is a valley because only subarray with indices l=r=3l=r=3 satisfies the condition.

The second image shows the array [1,1,1,2,3,3,4,5,6,6,61, 1, 1, 2, 3, 3, 4, 5, 6, 6, 6], it is a valley because only subarray with indices l=0,r=2l=0, r=2 satisfies the codition.

The third image shows the array [1,2,3,4,3,2,11, 2, 3, 4, 3, 2, 1], it is not a valley because two subarrays l=r=0l=r=0 and l=r=6l=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 00.

给你一个包含 nn 个整数的数组 a[0…n−1]a[0 \dots n-1]。若该数组中恰好存在一个子数组 a[l…r]a[l \dots r] 满足以下全部条件,则称该数组为“山谷”(valley):

  • 0≤l≤r≤n−10 \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 = 0 或 al−1>ala_{l-1} \gt a_{l},
  • r=n−1r = n-1 或 ar<ar+1a_r \lt 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=0 和 l=r=6l=r=6)均满足条件。

你需要判断给定的数组是否为一个山谷。

注意:我们约定数组下标从 00 开始。

输入格式

The first line contains a single integer tt (1≤t≤1041 \leq t \leq 10^4) — the number of test cases.

The first line of each test case contains a single integer nn (1≤n≤2⋅1051 \leq n \leq 2\cdot10^5) — the length of the array.

The second line of each test case contains nn integers aia_i (1≤ai≤1091 \leq a_i \leq 10^9) — the elements of the array.

It is guaranteed that the sum of nn over all test cases is smaller than 2⋅1052\cdot10^5.

第一行包含一个整数 tt(1≤t≤1041 \leq t \leq 10^4)——测试用例的数量。

每个测试用例的第一行包含一个整数 nn(1≤n≤2⋅1051 \leq n \leq 2\cdot10^5)——数组的长度。

每个测试用例的第二行包含 nn 个整数 aia_i(1≤ai≤1091 \leq a_i \leq 10^9)——数组的元素。

保证所有测试用例的 nn 之和小于 2⋅1052\cdot10^5。

输出格式

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测评打分。不知道怎么写?

首页