AT_abc399_b [ABC399B] Ranking with Ties

题目描述

[problemUrl]: https://atcoder.jp/contests/abc399/tasks/abc399_b 编号为 $1$ 至 $N$ 的 $N$ 人参加了一场竞赛,其中第 $i$ 人($1 \leq i \leq N$)的 **得分** 为 $P_i$。 本竞赛的 **排名** 按照以下流程确定: 1. 准备变量 $r$ 并初始化为 $r = 1$。初始时所有 $N$ 人的排名均为未确定状态。 2. 重复以下操作直到所有 $N$ 人的排名确定: - 设当前未确定排名的人中最高得分为 $x$,且得分为 $x$ 的人数为 $k$。将所有得分为 $x$ 的 $k$ 人的排名确定为 $r$ 位,然后将 $r$ 增加 $k$。 请输出这 $N$ 人各自的排名。

输入格式

输入通过标准输入给出,格式如下: > $N$ > $P_1$ $P_2$ $\dots$ $P_N$

输出格式

输出 $N$ 行。第 $i$ 行($1 \leq i \leq N$)输出第 $i$ 人的排名整数。

说明/提示

### 约束条件 - $1 \leq N \leq 100$ - $1 \leq P_i \leq 100$ - 所有输入均为整数 ### 样例解释 1 以下为 $N\ (=4)$ 人排名的确定流程: 1. 准备变量 $r$ 并初始化为 $r = 1$。初始时所有 4 人的排名均为未确定状态。 2. 当前未确定排名的是人 1、2、3、4,其中最高得分为 $P_2\ (=12)$。因此确定人 2 的排名为 $r\ (=1)$ 位,之后将 $r$ 增加 1 得 $r = 2$。 3. 当前未确定排名的是人 1、3、4,其中最高得分为 $P_3 = P_4\ (=9)$。因此确定人 3、4 的排名为 $r\ (=2)$ 位,之后将 $r$ 增加 2 得 $r = 4$。 4. 当前未确定排名的是人 1,其得分为 $P_1\ (=3)$。因此确定人 1 的排名为 $r\ (=4)$ 位,之后将 $r$ 增加 1 得 $r = 5$。 5. 所有 4 人的排名已确定,流程结束。 翻译由 DeepSeek R1 完成