CF1867A.green_gold_dog, array and permutation

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

green_gold_dog, array and permutation

题目描述

题目大意

green_gold_dog 有一个长度为 nn 的数组 aa。他想要寻找一个长度为 nn 的一个排列 bb 使得两个数组的差数组中不同元素数最多。

定义两个长度 nn 数组 a,ba,b 的差数组是一个长度为 nn 的数组 cc ,满足 i[1,n]\forall i\in [1,n] 的整数,有 ci=aibic_i=a_i-b_i

一个长度为 nn 的排列是由 11nnnn 个不同的整数按任意顺序组成的数组。

输入格式

每个测试点有多组数据。

第一行为一个整数 t(1t4×104)t(1 \leq t\leq 4\times 10^4) ,代表数据组数。

接下来对于每一组数据有两行,第一行为一个整数 n(1n4×104)n(1\leq n\leq 4\times 10^4),第二行为长度为 nn 的整数组 a(1ai109)a(1\leq a_i\leq 10^9)

保证单个测试点所有的 nn 总和小于 4×1044\times 10^4

输出格式

对于每一组数据,输出一行长度为 nn 的对应排列 bb。如果有多种答案,输出任意一种即可。

说明/提示

对于第一组数据,可以得到差数组是 [99999] 。很明显,在长度为 11 的数组中,不可能有超过 11 个不同的元素。

对于第二组数据,可以得到差数组是 [-1,0]。很明显,在长度为 22 的数组中,不可能有超过 22 个不同的元素。

对于第三组数据,可以得到差数组是 [9,0,1]。很明显,在长度为 33 的数组中,不可能有超过 33 个不同的元素。

样例

3
1
100000
2
1 1
3
10 3 3
1 
2 1 
1 3 2 

在线编程 IDE

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