CF1670A.Prof. Slim

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

Prof. Slim

题目描述

给定一个由nn个整数a1,a2,,an(ai0)a_1, a_2, \ldots, a_n (a_{i} \neq 0)构成的数组,问是否能通过任意次下面的操作将该数组排成一个非递减序列。

操作: 选定两个异号(一正一负)的数ai,aj(1i,jn)a_i, a_j(1\leq i, j\leq n),交换aia_{i}aj a_{j}的符号。例如当ai=3,aj=2a_i=3,a_j=-2时, 进行该操作后ai=3,aj=2a_i=-3, a_j=2

输入格式

第一行为一个整数t(1t104)t ( 1 \le t \le 10^4),共tt组数据。

每组数据的第一行为一个整数n(1n105)n( 1 \le n \le 10^{5}),第二行为nn个整数$a_1, a_2, \ldots, a_n( -10^9 \le a_{i} \le 10^9, a_{i} \neq 0)$。

数据保证所有测试案例中nn的和不超过10510^5

输出格式

对每组数据,如果可行,输出"YES",否则输出"NO"。(不区分大小写)

样例

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
NO
YES
YES
NO

在线编程 IDE

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