问题2424--数组序号转换

2424: 数组序号转换

[命题人 : ]
时间限制 : 1 sec  内存限制 : 128 MB

提交

题目描述

给你一个整数数组 arr ,请你将数组中的每个元素替换为它们排序后的序号。
序号代表了一个元素有多大。序号编号的规则如下:
  • 序号从 1 开始编号。
  • 一个元素越大,那么序号越大。如果两个元素相等,那么它们的序号相同。
  • 每个数字的序号都应该尽可能地小。

输入

第一行一个整数n表示数组arr的长度
第二行n个数字a[i](i=1,2,3....n)
后台数据保证:
  • 1 <= n <= 105
  • -109 <= arr[i] <= 109

输出

输出将数组中的每个元素替换为它们排序后的序号。

样例输入 Copy

4
40 10 20 30

样例输出 Copy

4 1 2 3

提示

对于样例解释:40 是最大的元素。 10 是最小的元素。 20 是第二小的数字。 30 是第三小的数字。
样例输入2:
3
100 100 100
样例输出2:
1 1 1
对于样例2解释:所有元素有相同的序号。
样例输入3:
9
37 12 28 9 100 56 80 5 12
样例输出3:
5 3 4 2 8 6 7 1 3