AT_arc141_c.[ARC141C] Bracket and Permutation

省选/NOI-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

对于一个长度为 2N2N 的字符串 S=S1S2…S2NS=S_1S_2\dots S_{2N},如果 SS 由 NN 个 ( 和 NN 个 ) 组成,则称 SS 为“括号列”。

此外,在“括号列”SS 中,满足以下任一条件的称为“正确的括号列”:

  • 空字符串;
  • 存在某个“正确的括号列”AA,将 (、AA、) 按此顺序连接得到的字符串;
  • 存在非空的“正确的括号列”A,BA,B,将 A,BA,B 按此顺序连接得到的字符串。

给定两个由 11 到 2N2N 的整数构成的排列 P=(P1,P2,…,P2N)P=(P_1,P_2,\dots,P_{2N}) 和 Q=(Q1,Q2,…,Q2N)Q=(Q_1,Q_2,\dots,Q_{2N})。

请判断是否存在一个“括号列”S=S1S2…S2NS=S_1S_2\dots S_{2N},满足以下条件:

  • 在所有使得 Sp1Sp2…Sp2NS_{p_1}S_{p_2}\dots S_{p_{2N}} 为“正确的括号列”的 11 到 2N2N 的排列 pp 中,字典序最小的为 PP;
  • 在所有使得 Sp1Sp2…Sp2NS_{p_1}S_{p_2}\dots S_{p_{2N}} 为“正确的括号列”的 11 到 2N2N 的排列 pp 中,字典序最大的为 QQ。

如果存在这样的 SS,请输出其中任意一个。如果不存在,请输出 -1。

输入格式

输入以如下格式从标准输入读入:

NN P1P_1 P2P_2 …\dots P2NP_{2N} Q1Q_1 Q2Q_2 …\dots Q2NQ_{2N}

输出格式

如果存在满足条件的“括号列”SS,请输出其中任意一个。如果有多个答案,可以输出任意一个。

如果不存在,请输出 -1。

输入输出样例

  • 输入#1

    2
    1 2 4 3
    4 3 1 2

    输出#1

    ())(
  • 输入#2

    2
    1 3 2 4
    4 3 2 1

    输出#2

    -1
  • 输入#3

    3
    2 1 5 3 4 6
    6 5 3 4 2 1

    输出#3

    -1

说明/提示

限制

  • 1≤N≤2×1051 \leq N \leq 2 \times 10^5
  • 1≤Pi,Qi≤2N1 \leq P_i, Q_i \leq 2N
  • P,QP,Q 分别是 11 到 2N2N 的整数的排列
  • 输入的所有值均为整数

样例解释 1

当 S=S= ())( 时,Sp1Sp2Sp3Sp4S_{p_1}S_{p_2}S_{p_3}S_{p_4} 能成为“正确的括号列”的 pp 有 p=(1,4,2,3),(1,4,3,2)p=(1,4,2,3),(1,4,3,2) 等,其中字典序最小的是 p=(1,2,4,3)p=(1,2,4,3),最大的是 p=(4,3,1,2)p=(4,3,1,2),因此 SS 满足条件。

样例解释 2

不存在满足条件的 SS。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页