(优雅的 Title)
小殷最近迷恋上了《间谍过家家》。
这天 Anya 来到超市,准备去买她最喜欢吃的 peanut 。可是货架上散落着各种不同大小包装的 peanut。 Anya 为了一下子就可以知道自己的肚子装得下哪个大小包装的 peanut,决定先给它们从小到大排个序,但是 Anya 力气太小了,一下只能移动相邻的两包 peanut。而且公主都是被要求一段时间内只能做几次移动的(不能多也不能少),否则就不优雅了。但是由于 Anya 精力充沛,她可以一直待在这里排她的 peanut。请问 Anya 最后可以把这堆 peanut 排好序吗?
形式上讲:
给定一个 n 个数字的数组 a 以及 m 个数字的数组 b 。数组 b 在一个环上(例如由3、1、4、2构成则其顺序为 3 -> 1 -> 4 -> 2 -> 3 -> 1 ......), 你将从 b_1 开始:对于每个 b_i ,你必须进行 b_i 次这种操作 :任意选择一个 x(1 \leq x \leq n-1) 交换 a_x 和 a_{x+1} 的值。 问能否经过若干回合(可以为 0)以后使得 a 数组非严格递增。
T 组输入 ,第一行输入 T(1 \leq T \leq 100)表示有几组输入。
对于每一组输入
第一行 2 个数 n、m (1 \leq n、m \leq 10^4) 代表数组 a、b 的长度
第二行 n 个数 a_i,a_2,\ldots,a_n (1\leq a_i\leq 10^9) 代表数组 a
第三行 m 个数 b_i,b_2,\ldots,b_n(1\leq b_i\leq 10^9) 代表数组 b
数据保证每组输入中所有 n 的和不超过 10^4
对于每一组输入仅输出一行。
若经过若干次操作后可以使得数组非严格递增则输出 “ Yes ” ,否则输出 " No " (不含引号)。
① b_1 = 3 ,我们进行如下 3 次操作:
选择 x = 2 ,2 3 1 5 6 4 ⇒ 2 1 3 5 6 4
选择 x = 1 ,2 1 3 5 6 4 ⇒ 1 2 3 5 6 4
选择 x = 5 ,1 2 3 5 6 4 ⇒ 1 2 3 5 4 6
② b_2 = 1 ,我们进行如下 1 次操作:
选择 x = 4 ,1 2 3 5 4 6 ⇒ 1 2 3 4 5 6
经过两次操作,我们使得数组非严格递增了。输出" Yes "。