AT_arc178_a.[ARC178A] Good Permutation 2

普及-

通过率:0%

AC君温馨提醒

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

题目描述

给定一个正整数 NN 和一个长度为 MM 的正整数序列 A=(1,2,⋯ ,AM)A=(1,2,\cdots,A_M)。

其中,AA 中的所有元素都是介于 11 和 NN 之间的不同整数。(即 AA 是 NN 的一个排列)

定义:

  • 排列 P=(P1,P2,⋯ ,PN)P=(P_1,P_2,\cdots,P_N) 是一个好排列,当且仅当:PP 没有连续子序列是 A=(1,2,⋯ ,Ai)A=(1,2,⋯ ,A_i) 的排列,其中 1≤i≤M1\le i\le M。

确定是否存在这样的好排列,如果存在,找到字典序最小的好排列。

输入格式

第一行两个整数 N,MN,M。

第二行 MM 个整数 A1,A2,⋯ ,AMA_{1},A_{2},\cdots,A_{M}。

输出格式

如果不存在好排列,则输出 -1。

如果存在,输出字典序最小的好排列,每个数之间用空格分隔。

样例 #1

样例输入 #1

4 1
2

样例输出 #1

1 3 2 4

样例 #2

样例输入 #2

5 3
4 3 2

样例输出 #2

1 3 4 5 2

样例 #3

样例输入 #3

92 4
16 7 1 67

样例输出 #3

-1

样例 #4

样例输入 #4

43 2
43 2

样例输出 #4

-1

输入输出样例

  • 输入#1

    4 1
    2

    输出#1

    1 3 2 4
  • 输入#2

    5 3
    4 3 2

    输出#2

    1 3 4 5 2
  • 输入#3

    92 4
    16 7 1 67

    输出#3

    -1
  • 输入#4

    43 2
    43 2

    输出#4

    -1

说明/提示

  • $ 1\leq\ M\leq\ N\leq\ 2\times\ 10^{5} $
  • $ 1\leq\ A_{i}\leq\ N $
  • $ A $ 中的所有元素都是不同的。
  • 所有输入值都是整数。

样例解释1

例如,(4,2,1,3)(4,2,1,3) 不是一个 好排列,因为它包含 (2,1)(2,1) 作为连续子序列。

其他非好排列包括 (1,2,3,4)(1,2,3,4) 和 (3,4,2,1)(3,4,2,1)。

一些好排列包括 (4,1,3,2)(4,1,3,2) 和 (2,3,4,1)(2,3,4,1)。其中,字典序最小的排列是 (1,3,2,4)(1,3,2,4)。

样例解释2

好排列的示例包括 (3,1,4,5,2)(3,1,4,5,2)、(2,4,5,3,1)(2,4,5,3,1) 和 (4,1,5,2,3)(4,1,5,2,3)。

非好排列的示例包括 (1,2,5,3,4)(1,2,5,3,4)、(2,3,4,1,5)(2,3,4,1,5) 和(5,3,1,2,4)(5,3,1,2,4)。

样例解释3

不存在好排列,输出 -1。

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

首页