CF1497A.Meximization
入门
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given an integer n and an array a1,a2,…,an. You should reorder the elements of the array a in such way that the sum of MEX on prefixes (i-th prefix is a1,a2,…,ai) is maximized.
Formally, you should find an array b1,b2,…,bn, such that the sets of elements of arrays a and b are equal (it is equivalent to array b can be found as an array a with some reordering of its elements) and i=1∑nMEX(b1,b2,…,bi) is maximized.
MEX of a set of nonnegative integers is the minimal nonnegative integer such that it is not in the set.
For example, MEX(1,2,3)=0, MEX(0,1,2,4,5)=3.
给你一个整数 n 和一个数组 a1,a2,…,an。你需要对数组 a 的元素进行重排,使得所有前缀(第 i 个前缀为 a1,a2,…,ai)的 MEX 值之和最大。
形式化地说,你需要找到一个数组 b1,b2,…,bn,使得数组 a 与 b 的元素集合相等(即 b 是 a 的某种元素重排),且 i=1∑nMEX(b1,b2,…,bi) 最大。
非负整数集合的 MEX 指的是不在该集合中的最小非负整数。
例如,MEX(1,2,3)=0,MEX(0,1,2,4,5)=3。
输入格式
The first line contains a single integer t (1≤t≤100) — the number of test cases.
The first line of each test case contains a single integer n (1≤n≤100).
The second line of each test case contains n integers a1,a2,…,an (0≤ai≤100).
第一行包含一个整数 t(1≤t≤100)—— 表示测试用例的数量。
每个测试用例的第一行包含一个整数 n(1≤n≤100)。
每个测试用例的第二行包含 n 个整数 a1,a2,…,an(0≤ai≤100)。
输出格式
For each test case print an array b1,b2,…,bn — the optimal reordering of a1,a2,…,an, so the sum of MEX on its prefixes is maximized.
If there exist multiple optimal answers you can find any.
对于每个测试用例,输出一个数组 b1,b2,…,bn —— 即 a1,a2,…,an 的一种最优重排,使得其所有前缀的 MEX 值之和最大。
若存在多个最优解,输出任意一个即可。
输入输出样例
输入#1
3 7 4 2 0 1 3 3 7 5 2 2 8 6 9 1 0
输出#1
0 1 2 3 4 7 3 2 6 8 9 2 0
说明/提示
In the first test case in the answer MEX for prefixes will be:
- MEX(0)=1
- MEX(0,1)=2
- MEX(0,1,2)=3
- MEX(0,1,2,3)=4
- MEX(0,1,2,3,4)=5
- MEX(0,1,2,3,4,7)=5
- MEX(0,1,2,3,4,7,3)=5
The sum of MEX=1+2+3+4+5+5+5=25. It can be proven, that it is a maximum possible sum of MEX on prefixes.
在第一个测试用例中,各前缀的 MEX 值为:
- MEX(0)=1
- MEX(0,1)=2
- MEX(0,1,2)=3
- MEX(0,1,2,3)=4
- MEX(0,1,2,3,4)=5
- MEX(0,1,2,3,4,7)=5
- MEX(0,1,2,3,4,7,3)=5
MEX 值之和为 1+2+3+4+5+5+5=25。可以证明,这是前缀 MEX 值之和所能达到的最大值。
输入解题思路,AI测评打分。不知道怎么写?