A13803 | Avoiding Zero
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
You are given an array of $n$ integers $a_1,a_2,\dots,a_n$ .
You have to create an array of $n$ integers $b_1,b_2,\dots,b_n$ such that:
- The array $b$ is a rearrangement of the array $a$ , that is, it contains the same values and each value appears the same number of times in the two arrays. In other words, the multisets $\{a_1,a_2,\dots,a_n\}$ and $\{b_1,b_2,\dots,b_n\}$ are equal.For example, if $a=[1,-1,0,1]$ , then $b=[-1,1,1,0]$ and $b=[0,1,-1,1]$ are rearrangements of $a$ , but $b=[1,-1,-1,0]$ and $b=[1,0,2,-3]$ are not rearrangements of $a$ .
- For all $k=1,2,\dots,n$ the sum of the first $k$ elements of $b$ is nonzero. Formally, for all $k=1,2,\dots,n$ , it must hold $$$$b_1+b_2+\cdots+b_k\not=0\,. $$ </li></ul><p>If an array $b\_1,b\_2,\\dots, b\_n$$$ with the required properties does not exist, you have to print NO.
You have to create an array of $n$ integers $b_1,b_2,\dots,b_n$ such that:
- The array $b$ is a rearrangement of the array $a$ , that is, it contains the same values and each value appears the same number of times in the two arrays. In other words, the multisets $\{a_1,a_2,\dots,a_n\}$ and $\{b_1,b_2,\dots,b_n\}$ are equal.For example, if $a=[1,-1,0,1]$ , then $b=[-1,1,1,0]$ and $b=[0,1,-1,1]$ are rearrangements of $a$ , but $b=[1,-1,-1,0]$ and $b=[1,0,2,-3]$ are not rearrangements of $a$ .
- For all $k=1,2,\dots,n$ the sum of the first $k$ elements of $b$ is nonzero. Formally, for all $k=1,2,\dots,n$ , it must hold $$$$b_1+b_2+\cdots+b_k\not=0\,. $$ </li></ul><p>If an array $b\_1,b\_2,\\dots, b\_n$$$ with the required properties does not exist, you have to print NO.
输入格式
Each test contains multiple test cases. The first line contains an integer $t$ ( $1\le t \le 1000$ ) — the number of test cases. The description of the test cases follows.
The first line of each testcase contains one integer $n$ ( $1\le n\le 50$ ) — the length of the array $a$ .
The second line of each testcase contains $n$ integers $a_1,a_2,\dots, a_n$ ( $-50\le a_i\le 50$ ) — the elements of $a$ .
The first line of each testcase contains one integer $n$ ( $1\le n\le 50$ ) — the length of the array $a$ .
The second line of each testcase contains $n$ integers $a_1,a_2,\dots, a_n$ ( $-50\le a_i\le 50$ ) — the elements of $a$ .
输出格式
For each testcase, if there is not an array $b_1,b_2,\dots,b_n$ with the required properties, print a single line with the word NO.
Otherwise print a line with the word YES, followed by a line with the $n$ integers $b_1,b_2,\dots,b_n$ .
If there is more than one array $b_1,b_2,\dots,b_n$ satisfying the required properties, you can print any of them.
Otherwise print a line with the word YES, followed by a line with the $n$ integers $b_1,b_2,\dots,b_n$ .
If there is more than one array $b_1,b_2,\dots,b_n$ satisfying the required properties, you can print any of them.
输入输出样例
输入 #1
4 4 1 -2 3 -4 3 0 0 0 5 1 -1 1 -1 1 6 40 -31 -9 0 13 -40
输出 #1
YES 1 -2 3 -4 NO YES 1 1 -1 1 -1 YES -40 13 40 0 -9 -31
Explanation of the first testcase: An array with the desired properties is $b=[1,-2,3,-4]$ . For this array, it holds:
- The first element of $b$ is $1$ .
- The sum of the first two elements of $b$ is $-1$ .
- The sum of the first three elements of $b$ is $2$ .
- The sum of the first four elements of $b$ is $-2$ .
Explanation of the second testcase: Since all values in $a$ are $0$ , any rearrangement $b$ of $a$ will have all elements equal to $0$ and therefore it clearly cannot satisfy the second property described in the statement (for example because $b_1=0$ ). Hence in this case the answer is NO.
Explanation of the third testcase: An array with the desired properties is $b=[1, 1, -1, 1, -1]$ . For this array, it holds:
- The first element of $b$ is $1$ .
- The sum of the first two elements of $b$ is $2$ .
- The sum of the first three elements of $b$ is $1$ .
- The sum of the first four elements of $b$ is $2$ .
- The sum of the first five elements of $b$ is $1$ .
Explanation of the fourth testcase: An array with the desired properties is $b=[-40,13,40,0,-9,-31]$ . For this array, it holds:
- The first element of $b$ is $-40$ .
- The sum of the first two elements of $b$ is $-27$ .
- The sum of the first three elements of $b$ is $13$ .
- The sum of the first four elements of $b$ is $13$ .
- The sum of the first five elements of $b$ is $4$ .
- The sum of the first six elements of $b$ is $-27$ .
- The first element of $b$ is $1$ .
- The sum of the first two elements of $b$ is $-1$ .
- The sum of the first three elements of $b$ is $2$ .
- The sum of the first four elements of $b$ is $-2$ .
Explanation of the second testcase: Since all values in $a$ are $0$ , any rearrangement $b$ of $a$ will have all elements equal to $0$ and therefore it clearly cannot satisfy the second property described in the statement (for example because $b_1=0$ ). Hence in this case the answer is NO.
Explanation of the third testcase: An array with the desired properties is $b=[1, 1, -1, 1, -1]$ . For this array, it holds:
- The first element of $b$ is $1$ .
- The sum of the first two elements of $b$ is $2$ .
- The sum of the first three elements of $b$ is $1$ .
- The sum of the first four elements of $b$ is $2$ .
- The sum of the first five elements of $b$ is $1$ .
Explanation of the fourth testcase: An array with the desired properties is $b=[-40,13,40,0,-9,-31]$ . For this array, it holds:
- The first element of $b$ is $-40$ .
- The sum of the first two elements of $b$ is $-27$ .
- The sum of the first three elements of $b$ is $13$ .
- The sum of the first four elements of $b$ is $13$ .
- The sum of the first five elements of $b$ is $4$ .
- The sum of the first six elements of $b$ is $-27$ .
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted