问题 5232 --排列(permutation)

5232: 排列(permutation)

时间限制: 1 Sec  内存限制: 128 MB
提交: 43  解决: 12
[提交][状态][命题人:]

题目描述

给出一个长度为 n 的数组 a[1],a[2],...,a[n] ,求一个字典序最小的1 ∼ n 的排列 P,使得原数组重新排列成 a[p[1]],a[p[2]],..., a[p[n]] 后每一个前缀的平均数都大于等于 0 。

输入

第一行一个整数 n 。
接下来一行,n 个整数,a[1],a[2],...,a[n] 。

输出

一行,若干个整数 P[1],P[2],...,P[n] 。如果无解,那么输出-1。
样例输入
Copy
5
-1 -2 -3 4 5
样例输出
Copy
4 1 2 5 3

提示

共 10 个测试点。
测试点 1 满足 n ≤ 10。
测试点 2,3 满足 n≤ 15。
测试点 4,5,6,7 满足 n≤ 1000。
对于所有数据,满足 1 ≤ n ≤ 10^5, − 10^9 ≤ a[i] ≤ 10^9。

来源

[提交][状态]