#5082. Problem 3. Email Filing

0

Problem 3. Email Filing

Problem 3. Email Filing

USACO 2022 February Contest, Silver

Farmer John 在整理收件箱方面已经落后了。他的屏幕排列方式是,屏幕左侧有一个垂直的文件夹列表,屏幕右侧有一个垂直的电子邮件列表。共有 MM 个文件夹,编号为 1M1 \ldots M1M1041 \le M \le 10^4)。他的收件箱当前包含 NN 封编号为 1N1\ldots N1N1051 \le N \le 10^5)的电子邮件;第 ii 封电子邮件需要归档到文件夹 fif_i1fiM1\le f_i\le M)。

FJ 的屏幕有些小,所以他同时只能查看 KK1Kmin(N,M)1\le K\le \min(N,M))个文件夹和 KK 封电子邮件。最初,他的屏幕左侧显示文件夹 1K1 \ldots K,右侧显示电子邮件 1K1 \ldots K。要访问其他文件夹和电子邮件,他需要滚动相应的列表。例如,如果他将文件夹列表向下滚动一个位置,他的屏幕将显示文件夹 2K+12 \ldots K+1,然后再向下滚动一个位置将显示文件夹 3K+23 \ldots K+2。当 FJ 将一封电子邮件拖曳至一个文件夹时,该电子邮件将从电子邮件列表中消失,并且消失的电子邮件之后的电子邮件会向上移动一个位置。例如,如果当前显示的是电子邮件 1,2,3,4,51, 2, 3, 4, 5,然后 FJ 将电子邮件 3 拖曳至其对应的文件夹中,则电子邮件列表现在将显示电子邮件 1,2,4,5,61, 2, 4, 5, 6。FJ 只可以将电子邮件拖曳至其需要归档的文件夹中。

不幸的是,FJ 的鼠标滚轮坏了,所以他只能向下滚动,不能向上滚动。他可以实现类似向上滚动的唯一情况是,他正在查看他的电子邮件列表中的最后 KK 封电子邮件,并且他归档了其中的一封。在这种情况下,电子邮件列表将再继续显示尚未归档的最后 KK 封电子邮件,实际上使得最上方的电子邮件向上滚动了一个位置。如果剩余少于 KK 封电子邮件,则将显示所有电子邮件。

请帮助 FJ 判断是否可能归档他的所有电子邮件。

输入格式(从终端 / 标准输入读入):

输入的第一行包含 TT1T101 \le T \le 10),为当前测试用例中的子测试用例数量,所有子测试用例必须全部正确才能通过当前测试用例。以下是 TT 个子测试用例。每一个子测试用例的第一行包含 MMNNKK。第二行包含 f1fNf_1 \ldots f_N

输入保证所有子测试用例的 MM 之和不超过 10410^4,所有子测试用例的 NN 之和不超过 10510^5

输出格式(输出至终端 / 标准输出):

输出 TT 行,每行包含 YES 或 NO,表示对于 TT 个子测试用例中的每一个,FJ 是否可以成功归档他的所有电子邮件。

输入样例:


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

测试点性质: 测试点 2-10 中,所有子测试用例的 MM 之和不超过 10310^3。测试点 11-12 没有额外限制。

供题:Brian Dean