#P14024. [ICPC 2024 Nanjing R] 纸条

[ICPC 2024 Nanjing R] 纸条

题目描述

ww 个格子排成一行,从左到右编号从 11ww。这些格子中,有 nn 个是红色的,mm 个是黑色的,剩下的 (wnm)(w - n - m) 个是白色的。

您需要用一些纸条覆盖所有红色格子。每张纸条必须覆盖 kk 个连续的格子。找到覆盖所有红色格子的方式,同时还要满足以下所有限制:

  • 每个红色格子都被纸条覆盖。
  • 没有黑色格子被纸条覆盖。
  • 没有两张纸条覆盖了同一个格子。也就是说,每个格子最多被一张纸条覆盖。
  • 使用的纸条数尽可能小。

输入格式

有多组测试数据。第一行输入一个整数 TT 表示测试数据组数。对于每组测试数据:

第一行输入四个整数 nnmmkkww1n,m1051 \le n, m \le 10^51kw1091 \le k \le w \le 10^9n+mwn + m \le w),表示红色格子的数量,黑色格子的数量,每张纸条的长度和格子的总数。

第二行输入 nn 个整数 a1,a2,,ana_1, a_2, \cdots, a_n1aiw1 \le a_i \le w),表示格子 aia_i 是红色的。

第三行输入 mm 个整数 b1,b2,,bmb_1, b_2, \cdots, b_m1biw1 \le b_i \le w),表示格子 bib_i 是黑色的。

保证所有给定的 (n+m)(n + m) 个格子互不相同。同时保证所有数据 nn 之和与 mm 之和均不超过 2×1052 \times 10^5

输出格式

对于每组数据:

如果可以覆盖所有红色格子,同时满足所有限制,首先输出一行一个整数 cc 表示最少使用几张纸条。接下来输出一行 cc 个由单个空格分隔的整数 l1,l2,,lcl_1, l_2, \cdots, l_c1liwk+11 \le l_i \le w - k + 1),其中 lil_i 表示第 ii 张纸条覆盖的最左边的格子。如果有多种合法答案,您可以输出任意一种。

如果无法完成要求,只要输出一行 -1\texttt{-1}

4
5 2 3 16
7 11 2 9 14
13 5
3 2 4 11
6 10 2
1 11
2 1 2 6
1 5
3
2 1 2 6
1 5
2
4
6 2 14 9
-1
2
1 4
-1