atcoder#AGC046E. [AGC046E] Permutation Cover
[AGC046E] Permutation Cover
题目描述
整数 と整数 が与えられます。以下を満たす数列 が存在するか判定し、存在する場合は辞書順最小のものを求めてください。
- のすべての項は 以上 以下の整数である
- 各 に対し、 は を 個含む
- の各項について、その項を含むある長さ の連続する部分列が存在し、 の並び替えになっている
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
条件を満たす数列が存在しない場合、-1
を出力せよ。 そうでない場合、条件を満たす辞書順最小の数列を出力せよ。
题目大意
给定正整数 与序列 ,试寻找满足以下条件的字典序最小的序列 ,或者报告无解:
- 中每个数都是 内的整数;
- 对于每个 ,数 在 中出现了 次;
- 对于 中的每一项,都存在一个长度为 的连续子序列包含该项,且该子序列构成 的排列。
3
2 4 3
2 1 3 2 2 3 1 2 3
4
3 2 3 2
1 2 3 4 1 3 1 2 4 3
5
3 1 4 1 5
-1
提示
制約
- $ 1\ \leq\ a_i\ \leq\ 1000\ \quad\ (1\leq\ i\leq\ K) $
- 入力はすべて整数である
Sample Explanation 1
例えば、 項目の は、 項目からなる部分列 に含まれます。