atcoder#ARC110C. [ARC110C] Exoswap
[ARC110C] Exoswap
配点 : 点
問題文
を並び替えた数列 があります。
あなたは に対して、以下の 種類の操作を、任意の順番でちょうど 1 回ずつ行わなければなりません。
- と を入れ替える
- と を入れ替える
- と を入れ替える
操作の順番を適切に決めることで、 を昇順に並び替えてください。
もしそれが不可能な場合、-1
を出力してください。
制約
- 入力は全て整数
- は を並び替えた数列
入力
入力は以下の形式で標準入力から与えられる。
出力
どのような順番で操作しても を昇順に並び替えることができない場合、-1
を出力せよ。
を昇順に並び替えることができる場合、そのような操作列を 行使って出力せよ。 行目には、 回目の操作で と を入れ替えるとして、 を出力せよ。
を昇順に並び替える操作列が複数存在する場合、どれを出力しても構わない。
5
2 4 1 5 3
4
2
3
1
以下のような操作列が を昇順に並び替えます。
- まず と を入れ替える。 は になる
- 次に と を入れ替える。 は になる
- 次に と を入れ替える。 は になる
- 次に と を入れ替える。 は になる
5
5 4 3 2 1
-1