#P1536. 小X算排名

    ID: 4953 传统题 1000ms 128MiB 尝试: 51 已通过: 30 难度: 2 上传者: 标签>其他二分查找市赛容器下标计数后缀和结构体排序

小X算排名

题目描述

小 X 很关心自己在学校的表现。班主任手上有一本“个人得分记录本”,如果一位同学表现好就会加分,表现差则会扣分。学期结束,每位同学都得知了自己的个人得分。小 X 想知道其他同学情况如何,但由于排名不公布,他只好一个个去问班里的其他同学。现在,小 X 手上有班里共 NN 位同学的个人得分,他想知道每位同学的排名 (得分相同则排名相同,见样例),可并不知道该如何计算,希望你帮帮他。

输入格式

第一行包含一个整数 NN
接下来 NN 行,第 ii 行包含一个整数 AiA_i,表示第 ii 位同学的得分。

输出格式

输出 NN 行,第 ii 行包含一个整数,表示第 ii 位同学的排名。

样例

5
95
100
99
99
96
5
1
2
2
4

样例解释

五位同学的得分分别是:95,100,99,99,9695, 100, 99, 99, 96

按得分从高到低排序为:100100(第 22 位同学),9999(第 33 位同学),9999(第 44 位同学),9696(第 55 位同学),9595(第 11 位同学)。

排名规则为得分相同则排名相同:

  • 得分为 100100 的同学是第 11 名;
  • 得分为 9999 的两位同学并列第 22 名;
  • 得分为 9696 的同学是第 44 名(因为前面有 33 位同学得分更高);
  • 得分为 9595 的同学是第 55 名。

因此,按照原始输入顺序,五位同学的排名依次为:5,1,2,2,45, 1, 2, 2, 4

数据范围

  • 对于 30%30\% 的数据:N10N \le 10
  • 对于 60%60\% 的数据:N1000N \le 1000
  • 对于 100%100\% 的数据:1N1000001 \le N \le 1000000Ai1000000 \le A_i \le 100000