题目描述
(1,2,⋯,2N) の順列 P=(P1,P2,⋯,P2N) が与えられます.
あなたは,以下の操作を 0 回以上 N 回以下行うことができます.
- 整数 x (1 ≤ x ≤ 2N−1) を選ぶ. Px と Px+1 の値を入れ替える.
操作後の P が以下の条件を満たすような操作列を 1 つ示してください.
- 各 i=1,3,5,⋯,2N−1 について,Pi < Pi+1 である.
- 各 i=2,4,6,⋯,2N−2 について,Pi > Pi+1 である.
なお,条件を満たすような操作列が必ず存在することが証明できます.
输入格式
入力は以下の形式で標準入力から与えられる.
N P1 P2 ⋯ P2N
输出格式
以下の形式で操作列を出力せよ.
K x1 x2 ⋯ xK
ここで,K は行う操作の回数 (0 ≤ K ≤ N) であり,xi (1 ≤ xi ≤ 2N−1) は i 回目の操作で選ぶ x の値である. 条件を満たす解が複数存在する場合,どれを出力しても正解とみなされる.
题目大意
题目描述
给定一个排列 P=(P1,P2,⋯,P2N),其中 (1,2,⋯,2N)。
你可以进行以下操作 0 到 N 次:
- 选择一个整数 x (1 ≤ x ≤ 2N−1),交换 Px 和 Px+1 的值。
请找出一系列操作,使得操作后的 P 满足以下条件:
- 对于每个 i=1,3,5,⋯,2N−1,Pi < Pi+1。
- 对于每个 i=2,4,6,⋯,2N−2,Pi > Pi+1。
请输出满足条件的一系列操作,以以下形式输出:
K x1 x2 ⋯ xK
其中,K 表示操作次数 (0 ≤ K ≤ N),xi (1 ≤ xi ≤ 2N−1) 表示第 i 次操作选择的 x 的值。如果存在多个满足条件的解,任意输出一个即可。
输入格式
从标准输入中按以下格式给出输入:
N P1 P2 ⋯ P2N
输出格式
按以下格式输出操作序列:
K x1 x2 ⋯ xK
样例 #1
样例输入 #1
2
4 3 2 1
样例输出 #1
2
1 3
样例 #2
样例输入 #2
1
1 2
样例输出 #2
0
提示
约束条件
- 1 ≤ N ≤ 105
- (P1,P2,⋯,P2N) 是 (1,2,⋯,2N) 的排列
- 输入的数值均为整数
样例解释 1
将 P=(4,3,2,1) 根据操作后,得到 P=(3,4,1,2),满足条件。
2
4 3 2 1
2
1 3
1
1 2
0
提示
制約
- 1 ≤ N ≤ 105
- (P1,P2,⋯,P2N) は (1,2,⋯,2N) の順列
- 入力される値はすべて整数である
Sample Explanation 1
操作後は P=(3,4,1,2) となり,条件を満たします.