atcoder#ARC141C. [ARC141C] Bracket and Permutation
[ARC141C] Bracket and Permutation
配点 : 点
問題文
長さ の文字列 について、 が 個の (
, および 個の )
で構成されるとき、 は「括弧列」であるといいます。
また、「括弧列」 のうち、以下のいずれかに該当するものを「正しい括弧列」といいます。
- 空文字列
- ある「正しい括弧列」 が存在して
(
, ,)
をこの順に連結した文字列 - ある空でない「正しい括弧列」 が存在して、 をこの順に連結した文字列
から までの整数からなる つの順列 $P=(P_1,\ P_2,\ \dots,\ P_{2N}),\ Q=(Q_1,\ Q_2,\ \dots,\ Q_{2N})$ が与えられます。
以下の条件を満たすような「括弧列」 が存在するか判定してください。
- が「正しい括弧列」となるような から までの整数の順列 のうち、辞書式順序で最小のものが
- が「正しい括弧列」となるような から までの整数の順列 のうち、辞書式順序で最大のものが
存在する場合は つ求めてください。
制約
- はそれぞれ から までの整数の順列
- 入力される値はすべて整数
入力
入力は以下の形式で標準入力から与えられます。
出力
上記のような「括弧列」 が存在する場合、そのうち つを出力してください。答えが複数存在する場合はいずれを出力してもかまいません。
存在しない場合は -1
を出力してください。
2
1 2 4 3
4 3 1 2
())(
())(
のとき、 が「正しい括弧列」となる は などが考えられますが、このうち辞書式順序で最小のものは 、最大のものは であり、 は条件を満たします。
2
1 3 2 4
4 3 2 1
-1
条件を満たす は存在しません。
3
2 1 5 3 4 6
6 5 3 4 2 1
-1