3318. 最大的排列

单点时限: 2.0 sec

内存限制: 256 MB

对于任意一个有限项数列 a1,a2,,an,如果 n2 且数列中的每一项都在 [0,n1] 范围内,那么就可以计算这个数列的权值 waii=1nainni。例如 0,1 (n=2) 的权值是 11,2,3,0,3 (n=5) 的权值就是 154+253+352+3=953

给出 a1,a2,,an,求 b1,b2,,bn 使得 waiwbi,且 b1,b2,,bn 恰好是 0n1 的一个全排列。

如果有多解,输出权值最大的一解。如果无解,输出 1

输入格式

第一行一个整数 n (2n5000)

第二行 n 个整数,用空格隔开,表示 a1,a2,,an (0ain1)

输出格式

输出用空格隔开的 n 个整数,分别表示 b1,b2,,bn。若无解,输出 1

样例

Input
4
1 2 3 0
Output
1 2 3 0
Input
5
1 2 3 0 3
Output
1 2 0 4 3
Input
5
0 0 0 0 0
Output
-1

8 人解决,12 人已尝试。

10 份提交通过,共有 48 份提交。

6.8 EMB 奖励。

创建: 7 年,7 月前.

修改: 7 年,7 月前.

最后提交: 1 年,8 月前.

来源: N/A

题目标签