AT_arc206_d [ARC206D] LIS ∩ LDS
题目描述
对于 $ (1,\ldots,N) $ 的一个排列 $ P=(P_1,\ldots,P_N) $,满足下列条件的元素称为好元素:
- 该元素可以同时被包含在 $ P $ 的最长上升子序列和最长下降子序列中。
给定整数 $ N $ 和 $ K $。请判断是否存在一个 $(1,\ldots,N)$ 的排列 $ P $,使得恰好有 $ K $ 个好元素。如果存在,请构造一个。
对于 $ T $ 组测试数据,输出每组的答案。
输入格式
输入从标准输入读入,格式如下:
> $ T $
> $\mathrm{case}_1$
> $\vdots$
> $\mathrm{case}_T $
每组测试数据输入两行,格式为:
> $ N $ $ K $
输出格式
输出 $ T $ 行。
对于第 $ i $ 行,如果不存在满足条件的排列,输出 `-1`。如果存在,请输出其中一个排列,格式为:
> $ P_1 $ $ \ldots $ $ P_N $
如果存在多个满足条件的解,输出任意一个均可。
说明/提示
### 样例解释 1
在第 2 组测试数据中,$ P_4=2 $ 和 $ P_5=3 $ 是好元素。
实际上,$(2,3,5)$ 是 $ P $ 的一个最长上升子序列。同时,$(7,6,2,1)$ 和 $(7,6,3,1)$ 是 $ P $ 的最长下降子序列。
因此,在该输出样例中,$ 2 $ 和 $ 3 $ 是好元素。其余元素不是好元素,所以该输出满足条件。
在第 1 组和第 3 组测试数据中,不存在满足条件的排列,因此输出 `-1`。
### 数据范围
- 所有输入值均为整数。
- $ 1 \leq T \leq 2\times 10^5 $
- $ 1 \leq N \leq 2\times 10^5 $
- $ 0 \leq K \leq N $
- 所有测试数据中 $ N $ 的总和不超过 $ 2\times 10^5 $。
由 ChatGPT 5 翻译