大きな積をソートする
n
組の数 (, ), (, ), …, (, ) が与えられたとき、各組の値を としてみなし、これを小さい順に並べ替えてください。並べ替えの結果は、元の組のインデックス(入力で与えられた順番)を出力します。また、同じ値となる組が複数ある場合は、より元のインデックスが小さい組を先に置くようにしてください。 入力
最初の行に整数
n
(1 ≤ n ≤ ) が与えられます。続く
n
行には、(, ) という形で 2 つの整数が与えられます (0 ≤ ≤ , 1 ≤ ≤ )。 出力
並べ替えが終わった後の、組の元のインデックスを出力してください。
例
入力 | 出力 |
5
0 3
0 4
0 1
0 2
0 5 | 3 4 1 2 5 |
6
1 1
0 2
1 2
2 1
0 1
2 3 | 5 1 2 3 4 6 |
解説
- [1](0, 3) = 3 • [2](0, 4) = 4 • [3](0, 1) = 1 • [4](0, 2) = 2 • [5](0, 5) = 5
並べ替え後 → 1 2 3 4 5 ⇒ 元のインデックスは:
[3] [4] [1] [2] [5]
- [1](1, 1) = 2 • [2](0, 2) = 2 • [3](1, 2) = 4 • [4](2, 1) = 4 • [5](0, 1) = 1 • [6](2, 3) = 12
並べ替え後 → 1 2 2 4 4 12 ⇒ 元のインデックスは:
[5] [1] [2] [3] [4] [6]
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB