#P9928. [NFLSPC #6] 来点不那么魔怔的题面

[NFLSPC #6] 来点不那么魔怔的题面

题目描述

给定一个 1n1\sim n 的排列 pp 和一个整数 kk,要求找到 pp 的一个子序列 {pi1,pi2,,pim}\{p_{i_1}, p_{i_2}, \cdots, p_{i_m}\}1i1<i2<<imn1\le i_1 < i_2 < \cdots < i_m\le n)满足:

  • 恰好有 kkjj 满足 1jm1\le j\le mpijp_{i_j}pi1,pi2,,pimp_{i_1}, p_{i_2}, \cdots, p_{i_m} 中从小往大数第 jj 个。

如果有多解,输出任意一组解即可。如果不存在合法的子序列,输出 1-1

输入格式

第一行两个整数 n,kn, k

接下来一行 nn 个整数 p1,p2,,pnp_1, p_2, \cdots, p_n 表示给定的排列。

输出格式

如果无解,输出一行一个整数 1-1

否则第一行输出一个整数 mm 表示子序列的长度。你需要保证 1mn1\le m\le n

接下来一行输出 mm 个整数 i1,i2,,imi_1, i_2, \cdots, i_m 表示子序列的下标。你需要保证 1ijn1\le i_j\le nij<ij+1i_j < i_{j+1}1j<m1\le j < m)。

4 1
4 2 1 3

3
2 3 4

提示

对于所有数据,1n1051\le n\le 10 ^ 51kn1\le k\le np1,p2,,pnp_1, p_2, \cdots, p_n1n1\sim n 的排列。

  • 子任务 1(1010 分):n20n\leq 20
  • 子任务 2(1010 分):k=2k = 2
  • 子任务 3(3030 分):k=3k = 3
  • 子任务 4(3030 分):n103n\leq 10 ^ 3
  • 子任务 5(2020 分):无特殊限制。

Source:NFLSPC #6 D by tzc_wk