問題
Yさんは大規模なゲーム大会を開催し、参加者全員の結果を集計して順位をつけようとしている。順位は、それぞれの参加者について、「その参加者よりも得点が高い参加者の人数+1 」で与えられる。各参加者の順位を全て出力せよ。
※今回の制約において、各参加者の順位をそれぞれ全探索で調べようとすると部分点しかもらえないことに注意せよ。
入力
入力は以下の形式で標準入力から与えられる。
$N$ $s_1$ $s_2$ ... $s_N$
1行目に参加者の人数$N$が与えられる。
2行目に各参加者$i(1 \leq i \leq N)$の得点$s_i$がスペース区切りで与えられる。
出力
$r_1$ $r_2$ ... $r_N$
1行にスペース区切りで各参加者の順位を出力せよ。
出力の最後に改行を入れること。制約
全ての入出力ケースについて以下を満たす。
- $1 \leq N \leq 10^{5}$
- $1 \leq s_i \leq 10^{9}$
部分点
上記の制約に加え、下記の制約も満たすケースにおいて正解した場合は部分点として200点を与える。
- $s_i$はすべて異なる値をとる。
- $1 \leq N \leq 10^{3}$
入出力例
入力例1
4 31 43 22 14
出力例1
2 1 3 4
43点を獲得した2番目の参加者が1位、31点を獲得した1番目の参加者が2位、22点を獲得した3番目の参加者が3位、14点を獲得した4番目の参加者が4位となります。
入力例2
4 33 33 11 11
出力例2
1 1 3 3
同率優勝のように順位が揃うケースも考えられます。