309376: CF1670A. Prof. Slim

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

Description

Prof. Slim

题意翻译

#### 题目描述 给定一个由$n$个整数$a_1, a_2, \ldots, a_n (a_{i} \neq 0)$构成的数组,问是否能通过任意次下面的操作将该数组排成一个非递减序列。 操作: 选定两个异号(一正一负)的数$a_i, a_j(1\leq i, j\leq n)$,交换$a_{i}$和$ a_{j}$的符号。例如当$a_i=3,a_j=-2$时, 进行该操作后$a_i=-3, a_j=2$。 #### 输入格式 第一行为一个整数$t ( 1 \le t \le 10^4)$,共$t$组数据。 每组数据的第一行为一个整数$n( 1 \le n \le 10^{5})$,第二行为$n$个整数$a_1, a_2, \ldots, a_n( -10^9 \le a_{i} \le 10^9, a_{i} \neq 0)$。 数据保证所有测试案例中$n$的和不超过$10^5$。 #### 输出格式 对每组数据,如果可行,输出"YES",否则输出"NO"。(不区分大小写)

题目描述

One day Prof. Slim decided to leave the kingdom of the GUC to join the kingdom of the GIU. He was given an easy online assessment to solve before joining the GIU. Citizens of the GUC were happy sad to see the prof leaving, so they decided to hack into the system and change the online assessment into a harder one so that he stays at the GUC. After a long argument, they decided to change it into the following problem. Given an array of $ n $ integers $ a_1,a_2,\ldots,a_n $ , where $ a_{i} \neq 0 $ , check if you can make this array sorted by using the following operation any number of times (possibly zero). An array is sorted if its elements are arranged in a non-decreasing order. 1. select two indices $ i $ and $ j $ ( $ 1 \le i,j \le n $ ) such that $ a_i $ and $ a_j $ have different signs. In other words, one must be positive and one must be negative. 2. swap the signs of $ a_{i} $ and $ a_{j} $ . For example if you select $ a_i=3 $ and $ a_j=-2 $ , then they will change to $ a_i=-3 $ and $ a_j=2 $ . Prof. Slim saw that the problem is still too easy and isn't worth his time, so he decided to give it to you to solve.

输入输出格式

输入格式


The first line contains a single integer $ t $ ( $ 1 \le t \le 10^4 $ ) — the number of test cases. Then $ t $ test cases follow. The first line of each test case contains a single integer $ n $ ( $ 1 \le n \le 10^{5} $ ) — the length of the array $ a $ . The next line contain $ n $ integers $ a_1, a_2, \ldots, a_n $ ( $ -10^9 \le a_{i} \le 10^9 $ , $ a_{i} \neq 0 $ ) separated by spaces describing elements of the array $ a $ . It is guaranteed that the sum of $ n $ over all test cases doesn't exceed $ 10^5 $ .

输出格式


For each test case, print "YES" if the array can be sorted in the non-decreasing order, otherwise print "NO". You can print each letter in any case (upper or lower).

输入输出样例

输入样例 #1

4
7
7 3 2 -11 -13 -17 -23
6
4 10 25 47 71 96
6
71 -35 7 -4 -11 -25
6
-45 9 -48 -67 -55 7

输出样例 #1

NO
YES
YES
NO

说明

In the first test case, there is no way to make the array sorted using the operation any number of times. In the second test case, the array is already sorted. In the third test case, we can swap the sign of the $ 1 $ -st element with the sign of the $ 5 $ -th element, and the sign of the $ 3 $ -rd element with the sign of the $ 6 $ -th element, this way the array will be sorted. In the fourth test case, there is no way to make the array sorted using the operation any number of times.

Input

题意翻译

#### 题目描述 给定一个由$n$个整数$a_1, a_2, \ldots, a_n (a_{i} \neq 0)$构成的数组,问是否能通过任意次下面的操作将该数组排成一个非递减序列。 操作: 选定两个异号(一正一负)的数$a_i, a_j(1\leq i, j\leq n)$,交换$a_{i}$和$ a_{j}$的符号。例如当$a_i=3,a_j=-2$时, 进行该操作后$a_i=-3, a_j=2$。 #### 输入格式 第一行为一个整数$t ( 1 \le t \le 10^4)$,共$t$组数据。 每组数据的第一行为一个整数$n( 1 \le n \le 10^{5})$,第二行为$n$个整数$a_1, a_2, \ldots, a_n( -10^9 \le a_{i} \le 10^9, a_{i} \neq 0)$。 数据保证所有测试案例中$n$的和不超过$10^5$。 #### 输出格式 对每组数据,如果可行,输出"YES",否则输出"NO"。(不区分大小写)

加入题单

算法标签: