1542: 【百题】【提高】洋洋算排名

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:58 解决:24

题目描述

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

输入

第一行包含一个整数N。 
接下来N行,第i行包含一个整数Ai,表示第i位同学的得分。

输出

N行,第i行包含一个整数,表示第i位同学的排名。


由于本题读入、输出的数据较多,C++选手请使用scanfprintf 替代 cincout 提升读写效率。

样例输入 复制

5
95
100
99
99
96

样例输出 复制

5
1
2
2
4

提示

数据范围
   对于30%的数据,N≤10。
   对于60%的数据,N≤1000。
   对于 100%的数据,1≤N≤100000,0≤Ai≤100000。

来源
常州市2015“信息与未来”夏令营选拔赛


提示:
法一:排序,二分查找右边界(根据排序规则而定) 不能左边界,为什么自己想
法二:桶排序
法三:lower_bound
法四:map