A29151.序列合拆
普及-
官方
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
Yuilice拥有一个长度为n的序列a1,a2,a3…an,以及一个正整数m,你可以对该序列进行以下两种操作。
- 在序列当中的整数ai,若整数ai>m且满足条件ai%m=0则ai可以被均等的拆分为m份,每份数值为mai,组成一个子序列从而替代ai原先的位置。
- 在序列当中若存在一段连续子序列[l,r]满足al=al+1=…ar,并且该序列长度为m,那么可以选中该连续子序列[l,r]合并为一个整数ai=al∗m从而替代子序列[l,r]。
现在Yuilice给出一个新的序列b,求解序列a是否可以通过以上两种操作变为b,若可以输出 Yes
,反之输出 No
。
注:本题包含多组测试样例
输入格式
第一行输入一个整数t(1≤t≤104) - 代表共有T组样例进行测试。
每组样例的输入格式如下:
第一行输入两个整数n,m(1≤n≤5×104,2≤m≤109) - 代表序列a的长度与m的取值。
第二行输入n个整数ai(1≤ai≤109) - 代表序列a的取值
第三行输入一个整数k(1≤k≤5×104) - 代表序列b的长度
第四行输出k个整数bi(1≤bi≤109) - 代表序列b的取值
题目保证在每个测试点当中,n的取值总和不超过2×105。
输出格式
针对于每组样例 - 输出 Yes
或 No
,独占一行。
输入输出样例
输入#1
5 3 2 2 2 2 2 4 2 3 2 2 2 2 1 6 8 2 1 1 1 1 1 1 1 1 4 2 2 2 2 8 3 3 9 6 3 12 12 36 12 16 9 3 2 2 2 3 4 12 4 12 4 12 4 12 4 4 8 3 3 9 6 3 12 12 36 12 7 12 2 4 3 4 12 56
输出#1
Yes No Yes Yes No
说明/提示
【样例解释】
- 序列a合并a1,a2变为4,即可相等。
- 序列a合并a1,a2变为4,序列变为4,2,不满足ai=ai+1,无法合并为6 。