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

昔の大会では、ソフトウェアエンジニアたちがバブルソートを用いたランキングアルゴリズムを実装していました。当時は参加者数がそれほど多くなかったので、それでも十分に機能していたのです。しかし、現在では参加者数がとても多くなり、アルゴリズムを高速化することが求められています。
各チームには固有の番号(識別子)とスコアがあり、スコアが高い順(高いスコアを先に、低いスコアを後に)になるように並べ替えなければなりません。また、同じスコアのチームについては、入力で登場した順番が保たれるようにしなければなりません。つまり、安定ソートを実装する必要があります。

入力

最初の行には、単一の整数 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