5817: 乘方相加
[Creator : ]
Description
给定一个长度为 $n$ 的数组 $v_1,\ v_2,\ \dots,\ v_n$。
初始时,数组中的所有元素都为 $0$。
接下来,可以对该数组进行若干次如下操作------对于第 $i$ 次操作($i$ 从 $0$ 开始),你可以:
现在,给定 $k$ 的值以及一个目标数组 $a_1,\ a_2,\ …,\ a_n$。
请问,能否通过上述操作,将数组 $v$ 转化为数组 $a$。
初始时,数组中的所有元素都为 $0$。
接下来,可以对该数组进行若干次如下操作------对于第 $i$ 次操作($i$ 从 $0$ 开始),你可以:
- 要么选择其中一个元素 $v_{pos}$,将其增加 $k^i$。
- 要么不选择任何元素,直接跳过此次操作。
现在,给定 $k$ 的值以及一个目标数组 $a_1,\ a_2,\ …,\ a_n$。
请问,能否通过上述操作,将数组 $v$ 转化为数组 $a$。
Input
第一行包含整数 $T$,表示共有 $T$ 组测试数据。
每组数据第一行包含两个整数 $n,\ k$。
第二行包含 $n$ 个整数 $a_1,\ a_2,\ …,\ a_n$。
每组数据第一行包含两个整数 $n,\ k$。
第二行包含 $n$ 个整数 $a_1,\ a_2,\ …,\ a_n$。
Output
每组数据输出一行结果,能将数组 $v$ 转化为数组 $a$,则输出 YES,否则输出 NO。
Constraints
对于前三个测试点,$1≤T≤5$。
对于全部测试点,$1≤T≤1000,\ 1≤n≤30,\ 2≤k≤100,\ 0≤a_i≤10^{16}$。
对于全部测试点,$1≤T≤1000,\ 1≤n≤30,\ 2≤k≤100,\ 0≤a_i≤10^{16}$。
Sample 1 Input
5
4 100
0 0 0 0
1 2
1
3 4
1 4 1
3 2
0 1 3
3 9
0 59049 810
Sample 1 Output
YES
YES
NO
NO
YES