#4460. 小 A 的成绩排名

小 A 的成绩排名

题目背景:

学期结束后,小 A 拿到了全班同学的个人得分记录。 他想知道自己与其他同学的相对位置,但老师没有公布成绩排名。 于是,小 A 自己决定计算每位同学的名次。

如果两位同学分数相同,则他们的名次相同。 例如,若分数从高到低为:100、99、99、96、95,则名次应为:1、2、2、4、5。


题目描述:

给定 NN 位同学的得分 A1,A2,,ANA_1, A_2, \dots, A_N, 请计算每位同学的名次(分数越高名次越靠前,分数相同名次相同)。


输入格式:

第一行包含一个整数 NN1N1051 \le N \le 10^5),表示学生人数。 接下来 NN 行,每行一个整数 AiA_i0Ai1050 \le A_i \le 10^5),表示第 ii 位同学的分数。


输出格式:

输出 NN 行,第 ii 行输出第 ii 位同学的名次。


样例输入 1:

5
95
100
99
99
96

样例输出 1:

5
1
2
2
4

样例输入 2:

6
60
80
80
100
60
75

样例输出 2:

5
2
2
1
5
4

数据范围与说明:

  • 对于 30% 的数据,N10N \le 10
  • 对于 60% 的数据,N1000N \le 1000
  • 对于 100% 的数据,1N1051 \le N \le 10^50Ai1050 \le A_i \le 10^5
  • 建议使用快速读写(如 scanf / printf)以通过所有测试点。