CF1783A.Make it Beautiful
入门
通过率:0%
时间限制:3.00s
内存限制:512MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
An array a is called ugly if it contains at least one element which is equal to the sum of all elements before it. If the array is not ugly, it is beautiful.
For example:
- the array [6,3,9,6] is ugly: the element 9 is equal to 6+3;
- the array [5,5,7] is ugly: the element 5 (the second one) is equal to 5;
- the array [8,4,10,14] is beautiful: 8=0, 4=8, 10=8+4, 14=8+4+10, so there is no element which is equal to the sum of all elements before it.
You are given an array a such that 1≤a1≤a2≤⋯≤an≤100. You have to reorder the elements of a in such a way that the resulting array is beautiful. Note that you are not allowed to insert new elements or erase existing ones, you can only change the order of elements of a. You are allowed to keep the array a unchanged, if it is beautiful.
如果一个数组 a 中至少存在一个元素,其值等于该元素之前所有元素的和,则称该数组为“丑陋的”(ugly)。若数组不是丑陋的,则称其为“美丽的”(beautiful)。
例如:
- 数组 [6,3,9,6] 是丑陋的:元素 9 等于 6+3;
- 数组 [5,5,7] 是丑陋的:第二个元素 5 等于 5(即它前面所有元素之和,此处前面仅有一个元素 5);
- 数组 [8,4,10,14] 是美丽的:8=0,4=8,10=8+4,14=8+4+10,因此不存在任何一个元素等于它之前所有元素的和。
给定一个数组 a,满足 1≤a1≤a2≤⋯≤an≤100。你需要对 a 的元素重新排序,使得所得数组是美丽的。注意:你不允许插入新元素或删除已有元素,只能改变 a 中元素的顺序。若原数组 a 已经是美丽的,你可以保持其不变。
输入格式
The first line contains one integer t (1≤t≤2000) — the number of test cases.
Each test case consists of two lines. The first line contains one integer n (2≤n≤50). The second line contains n integers a1,a2,…,an (1≤a1≤a2≤⋯≤an≤100).
第一行包含一个整数 t(1≤t≤2000)—— 测试用例的数量。
每个测试用例由两行组成。第一行包含一个整数 n(2≤n≤50)。第二行包含 n 个整数 a1,a2,…,an(1≤a1≤a2≤⋯≤an≤100)。
输出格式
For each test case, print the answer as follows:
- if it is impossible to reorder the elements of a in such a way that it becomes beautiful, print NO;
- otherwise, in the first line, print YES. In the second line, print n integers — any beautiful array which can be obtained from a by reordering its elements. If there are multiple such arrays, print any of them.
对于每个测试用例,按如下方式输出答案:
- 如果无法通过重排数组 a 的元素使其变为优美数组,则输出
NO; - 否则,第一行输出
YES;第二行输出 n 个整数——即任意一个可通过重排 a 的元素得到的优美数组。若存在多个这样的数组,输出其中任意一个即可。
输入输出样例
输入#1
4 4 3 3 6 6 2 10 10 5 1 2 3 4 5 3 1 4 4
输出#1
YES 3 6 3 6 NO YES 2 4 1 5 3 YES 1 4 4
输入解题思路,AI测评打分。不知道怎么写?