ランキングアルゴリズムを高速化しよう

昔の大会では、ソフトウェアエンジニアたちがバブルソートを用いたランキングアルゴリズムを実装していました。当時は参加者数がそれほど多くなかったので、それでも十分に機能していたのです。しかし、現在では参加者数がとても多くなり、アルゴリズムを高速化することが求められています。

各チームには固有の番号(識別子)とスコアがあり、スコアが高い順(高いスコアを先に、低いスコアを後に)になるように並べ替えなければなりません。また、同じスコアのチームについては、入力で登場した順番が保たれるようにしなければなりません。つまり、安定ソートを実装する必要があります。

入力

最初の行には、単一の整数 n (1 ≤ n ≤ ) が与えられます。

続く n 行には、チームの固有の識別子とスコアを表す、スペース区切りのペア () が与えられます。

出力

プログラムは n 行を出力します。各行にはチームの id とスコアのペアを出力してください。

入力

出力

6
1 10
4 20
5 7
2 20
8 10
9 15

4 20
2 20
9 15
1 10
8 10
5 7

Constraints

Time limit: 5 seconds

Memory limit: 512 MB

Output limit: 10 MB

To check your solution you need to sign in
Sign in to continue