#59608. Email Filing
Email Filing
暂无测试数据。
Farmer John 在还没整理好他的收件箱。他的屏幕组织方式是,屏幕左侧有一个垂直的文件夹列表,屏幕右侧有一个垂直的电子邮件列表。共有 $M$ 个文件夹,编号为 $1\dots M (1\leq M\leq 10^4)$。他的收件箱目前包含 $N$ 封电子邮件,编号为 $1\dots N (1\leq N\leq 10^5)$;第 $i$ 封邮件需要归档到文件夹 $f_i (1\leq f_i\leq M)$ 中。
FJ 的屏幕比较小,一次只能查看 $K(1\leq K\leq \min(N,M))$ 个文件夹和 $K$ 封邮件。最初,他的屏幕开始在左侧显示文件夹 $1\dots K$,在右侧显示电子邮件 $1\cdots K$。要访问其他文件夹和电子邮件,他需要滚动浏览这些相应的列表。例如,如果他在文件夹列表中向下滚动一个位置,他的屏幕将显示文件夹 $2\dots K+1$,然后再向下滚动一个位置将显示文件夹 $3\dots K+2$。当 FJ 将一封电子邮件拖入文件夹时,该电子邮件将从电子邮件列表中消失,并且消失的电子邮件之后的电子邮件将向上移动一个位置。例如,如果当前显示电子邮件 $1, 2, 3, 4, 5$,并且 FJ 将电子邮件 $3$ 拖到其相应的文件夹中,则电子邮件列表现在将显示电子邮件 $1, 2, 4, 5, 6$。 FJ 只能将电子邮件拖到需要归档的文件夹中。
不幸的是,FJ 的鼠标滚轮坏了,只能向下滚动,不能向上滚动。他可以实现某种向上滚动的唯一方法是,如果他正在查看他的电子邮件列表中的最后一组 $K$ 封电子邮件,并且他将其中的一封归档。在这种情况下,电子邮件列表将再次显示尚未归档的最后 $K$ 封电子邮件,等价于将电子邮件向上滚动一个位置。如果剩余的邮件少于 $K$ 封,则将显示所有邮件。
请帮助 FJ 确定是否可以归档他的所有电子邮件。
输入格式
输入的第一行包含 $T (1\leq T\leq 10)$,为该测试点中的子测试点数。必须正确求解所有子测试点该测试点才被认为通过。然后是 $T$ 组子测试点。对于每个子测试点,输入的第一行包含 $M$、$N$ 和 $K$。下一行包含 $f_1\cdots f_N$。保证所有子测试点的 $M$ 之和不超过 $10^4$,保证所有子测试点的 $N$ 之和不超过 $10^5$。
输出格式
输出 $T$ 行,每行包含 YES
或 NO
,表示 FJ 是否可以成功归档每个子测试点中的所有电子邮件。
数据范围
- 在输入 $2\sim 10$ 中,所有子测试点的 $M$ 总和不超过 $10^3$。
- 在输入 $11\sim 12$ 中,无额外约束。
6
5 5 1
1 2 3 4 5
5 5 1
1 2 3 5 4
5 5 1
1 2 4 5 3
5 5 2
1 2 4 5 3
3 10 2
1 3 2 1 3 2 1 3 2 1
3 10 1
1 3 2 1 3 2 1 3 2 1
YES
YES
NO
YES
YES
NO