1. paizaラーニングトップ
  2. レベルアップ問題集
  3. Cランク実力確認問題セット1(言語選択)
  4. 問題一覧 C++編
  5. 背の順 C++編

Cランク実力確認問題セット1のサムネイル
背の順 C++編(paizaランク C 相当)

問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!

問題

下記の問題をプログラミングしてみよう!

保健係のあなたは名前と身長のリストを身長が高い順に並べなおすようお願いされました。

生徒の数 N, i 番目の生徒の名前 S_i、i番目の生徒の身長 A_i が与えられます(1 ≦ i ≦ N)。

身長が高い生徒から順に改行区切りで名前を出力してください。

入力される値

入力は以下のフォーマットで与えられます。



N
A_1 S_1
A_2 S_2
A_3 S_3
.
.
.
A_N S_N

* 1 行目には 0 以上の整数 N が与えられます。
* 続く N 行には生徒の身長 A_i と名前 S_i が空白区切りで与えられます。
* 入力は合計で N+1 行からなり、入力値最終行の末尾に改行が1つ入ります。


入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。 標準入力からの値取得方法はこちらをご確認ください
期待する出力

i 行目には i 番目に背の高い生徒の名前を出力してください。(1 ≦ i ≦ N)
出力の最後は改行し、余計な文字、空行を含んではいけません。

条件

すべてのテストケースにおいて、以下の条件をみたします。

* 1 ≦ N ≦ 20
* 1 ≦ A_i ≦ 300
* 1 ≦ |S_i| ≦ 10
* N は整数
* A_i は整数
* S_i は英大小文字のみからなる文字列
* A_i, S_iは全て相異なる

入力例1

3
173 Hashimoto
195 Yamamoto
113 Yoshida

出力例1

Yamamoto
Hashimoto
Yoshida

問題一覧へ戻る

ページの先頭へ戻る