#ATarc141c. [ARC141C] Bracket and Permutation
[ARC141C] Bracket and Permutation
题目描述
对于一个长度为 的字符串 ,如果 由 个 ( 和 个 ) 组成,则称 为“括号列”。
此外,在“括号列” 中,满足以下任一条件的称为“正确的括号列”:
- 空字符串;
- 存在某个“正确的括号列”,将
(、、)按此顺序连接得到的字符串; - 存在非空的“正确的括号列”,将 按此顺序连接得到的字符串。
给定两个由 到 的整数构成的排列 和 。
请判断是否存在一个“括号列”,满足以下条件:
- 在所有使得 为“正确的括号列”的 到 的排列 中,字典序最小的为 ;
- 在所有使得 为“正确的括号列”的 到 的排列 中,字典序最大的为 。
如果存在这样的 ,请输出其中任意一个。如果不存在,请输出 -1。
输入格式
输入以如下格式从标准输入读入:
输出格式
如果存在满足条件的“括号列”,请输出其中任意一个。如果有多个答案,可以输出任意一个。
如果不存在,请输出 -1。
样例 1
输入
2
1 2 4 3
4 3 1 2
输出
())(
样例 2
输入
2
1 3 2 4
4 3 2 1
输出
-1
样例 3
输入
3
2 1 5 3 4 6
6 5 3 4 2 1
输出
-1
说明/提示
限制
- 分别是 到 的整数的排列
- 输入的所有值均为整数
样例解释 1
当 ())( 时, 能成为“正确的括号列”的 有 等,其中字典序最小的是 ,最大的是 ,因此 满足条件。
样例解释 2
不存在满足条件的 。
由 ChatGPT 4.1 翻译