SP4201 RATING - Coder Ratings

题目描述

有一些程序员经常参与一个未署名的编程竞赛。比赛涵盖多种类型的竞赛,而我们在这里专注于公开赛和高中生比赛这两类。在每种比赛中,参赛者会得到一个评分,评分是介于 1 到 100000 之间的整数。这个评分根据他们在比赛中的表现通过一个复杂公式计算得出,幸运的是,你无需去实现这个公式。 尽管对于最近参加这两种比赛的程序员而言,他们的公开赛评分和高中生比赛评分大多数情况下比较接近,但也有例外。尤其是,高中生比赛更注重速度,因为很多参赛者都能解出所有题目;而公开赛则需要更多的思考,并且题目难度上升得更快。 **问题说明** 现在你有 _N_ 位程序员(1 ≤ _N_ ≤ 100000),他们都参与了公开赛和高中生比赛。对于每位程序员,你得到他们的公开赛评分 $A_i$ 和高中生比赛评分 $H_i$。如果程序员 _i_ 的两个评分都不低于程序员 _j_ 的评分,并且至少有一个评分高于 _j_,那么称程序员 _i_ 比 _j_ 更优秀。对于每个程序员 _i_,计算有多少位程序员比他们要差。

输入格式

第一行是一个整数 _N_,表示程序员的数量。接下来 _N_ 行中,第 _i_ 行包含两个用空格分隔的整数 $A_i$ 和 $H_i$。

输出格式

对于每个程序员 _i_,在第 _i_ 行输出比他们差的程序员数量。 **样例输入** ``` 8 1798 1832 862 700 1075 1089 1568 1557 2575 1984 1033 950 1656 1649 1014 1473 ``` **样例输出** ``` 6 0 2 4 7 1 5 1 ``` **数据范围** - $1 \le N \le 100000$ - $1 \le A_i, H_i \le 100000$ 这个问题需要你高效地比较程序员的评分,以便快速找到每个程序员所能超过的对手数量。 **本翻译由 AI 自动生成**