311364: CF1975A. Bazoka and Mocha's Array

Memory Limit:256 MB Time Limit:1 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

A. Bazoka and Mocha's Arraytime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard output

Mocha likes arrays, so before her departure, Bazoka gave her an array $a$ consisting of $n$ positive integers as a gift.

Now Mocha wants to know whether array $a$ could become sorted in non-decreasing order after performing the following operation some (possibly, zero) times:

  • Split the array into two parts — a prefix and a suffix, then swap these two parts. In other words, let $a=x+y$. Then, we can set $a:= y+x$. Here $+$ denotes the array concatenation operation.

For example, if $a=[3,1,4,1,5]$, we can choose $x=[3,1]$ and $y=[4,1,5]$, satisfying $a=x+y$. Then, we can set $a:= y + x = [4,1,5,3,1]$. We can also choose $x=[3,1,4,1,5]$ and $y=[\,]$, satisfying $a=x+y$. Then, we can set $a := y+x = [3,1,4,1,5]$. Note that we are not allowed to choose $x=[3,1,1]$ and $y=[4,5]$, neither are we allowed to choose $x=[1,3]$ and $y=[5,1,4]$, as both these choices do not satisfy $a=x+y$.

Input

Each test contains multiple test cases. The first line contains the number of test cases $t$ ($1\leq t\leq 1000$). The description of the test cases follows.

The first line of each test case contains a single integer $n$ ($2\leq n\leq 50$) — the length of the array $a$.

The second line of each test case contains $n$ integers $a_1,a_2,\ldots,a_n$ ($1\leq a_i \leq 10^6$) — the elements of array $a$.

Output

For each test case, output "Yes" if $a$ could become non-decreasing after performing the operation any number of times, and output "No" if not.

You can output "Yes" and "No" in any case (for example, strings "yEs", "yes", "Yes" and "YES" will be recognized as a positive response).

ExampleInput
3
6
1 1 4 5 1 4
5
7 9 2 2 3
3
1 2 3
Output
No
Yes
Yes
Note

In the first test case, it can be proven that $a$ cannot become non-decreasing after performing the operation any number of times.

In the second test case, we can perform the following operations to make $a$ sorted in non-decreasing order:

  • Split the array into two parts: $x=[7]$ and $y=[9,2,2,3]$, then swap these two parts. The array will become $y+x = [9,2,2,3,7]$.
  • Split the array into two parts: $x=[9]$ and $y=[2,2,3,7]$, then swap these two parts. The array will become $y+x=[2,2,3,7,9]$, which is non-decreasing.

Output

题目大意:
Bazoka在Mocha离开前送给她一个由n个正整数组成的数组a作为礼物。Mocha想知道数组a是否可以通过执行以下操作若干次(可能为零次)后变为非递减顺序:

- 将数组分成两部分——前缀和后缀,然后交换这两部分。例如,如果a=[3,1,4,1,5],可以选择x=[3,1]和y=[4,1,5],满足a=x+y。然后,可以将a设置为y+x=[4,1,5,3,1]。也可以选择x=[3,1,4,1,5]和y=[],满足a=x+y。然后,可以将a设置为y+x=[3,1,4,1,5]。注意,不允许选择x=[3,1,1]和y=[4,5],也不允许选择x=[1,3]和y=[5,1,4],因为这两个选择不满足a=x+y。

输入数据格式:
每个测试包含多个测试案例。第一行包含测试案例的数量t(1≤t≤1000)。接下来是每个测试案例的描述。

每个测试案例的第一行包含一个整数n(2≤n≤50)——数组a的长度。

每个测试案例的第二行包含n个整数a1,a2,…,an(1≤ai≤10^6)——数组a的元素。

输出数据格式:
对于每个测试案例,如果a可以通过执行操作任何次数变为非递减顺序,则输出"Yes",否则输出"No"。

示例:
输入:
3
6
1 1 4 5 1 4
5
7 9 2 2 3
3
1 2 3

输出:
No
Yes
Yes

注意:
在第一个测试案例中,可以证明a无法通过执行操作任何次数变为非递减顺序。

在第二个测试案例中,我们可以执行以下操作使a变为非递减顺序:
- 将数组分成两部分:x=[7]和y=[9,2,2,3],然后交换这两部分。数组将变为y+x=[9,2,2,3,7]。
- 将数组分成两部分:x=[9]和y=[2,2,3,7],然后交换这两部分。数组将变为y+x=[2,2,3,7,9],这是非递减的。题目大意: Bazoka在Mocha离开前送给她一个由n个正整数组成的数组a作为礼物。Mocha想知道数组a是否可以通过执行以下操作若干次(可能为零次)后变为非递减顺序: - 将数组分成两部分——前缀和后缀,然后交换这两部分。例如,如果a=[3,1,4,1,5],可以选择x=[3,1]和y=[4,1,5],满足a=x+y。然后,可以将a设置为y+x=[4,1,5,3,1]。也可以选择x=[3,1,4,1,5]和y=[],满足a=x+y。然后,可以将a设置为y+x=[3,1,4,1,5]。注意,不允许选择x=[3,1,1]和y=[4,5],也不允许选择x=[1,3]和y=[5,1,4],因为这两个选择不满足a=x+y。 输入数据格式: 每个测试包含多个测试案例。第一行包含测试案例的数量t(1≤t≤1000)。接下来是每个测试案例的描述。 每个测试案例的第一行包含一个整数n(2≤n≤50)——数组a的长度。 每个测试案例的第二行包含n个整数a1,a2,…,an(1≤ai≤10^6)——数组a的元素。 输出数据格式: 对于每个测试案例,如果a可以通过执行操作任何次数变为非递减顺序,则输出"Yes",否则输出"No"。 示例: 输入: 3 6 1 1 4 5 1 4 5 7 9 2 2 3 3 1 2 3 输出: No Yes Yes 注意: 在第一个测试案例中,可以证明a无法通过执行操作任何次数变为非递减顺序。 在第二个测试案例中,我们可以执行以下操作使a变为非递减顺序: - 将数组分成两部分:x=[7]和y=[9,2,2,3],然后交换这两部分。数组将变为y+x=[9,2,2,3,7]。 - 将数组分成两部分:x=[9]和y=[2,2,3,7],然后交换这两部分。数组将变为y+x=[2,2,3,7,9],这是非递减的。

加入题单

上一题 下一题 算法标签: