CF1641A.Great Sequence
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
A sequence of positive integers is called great for a positive integer x , if we can split it into pairs in such a way that in each pair the first number multiplied by x is equal to the second number. More formally, a sequence a of size n is great for a positive integer x , if n is even and there exists a permutation p of size n , such that for each i ( 1≤i≤2n ) ap2i−1⋅x=ap2i .
Sam has a sequence a and a positive integer x . Help him to make the sequence great: find the minimum possible number of positive integers that should be added to the sequence a to make it great for the number x .
输入格式
Each test contains multiple test cases. The first line contains a single integer t ( 1≤t≤20000 ) — the number of test cases. Description of the test cases follows.
The first line of each test case contains two integers n , x ( 1≤n≤2⋅105 , 2≤x≤106 ).
The next line contains n integers a1,a2,…,an ( 1≤ai≤109 ).
It is guaranteed that the sum of n over all test cases does not exceed 2⋅105 .
输出格式
For each test case print a single integer — the minimum number of integers that can be added to the end of a to make it a great sequence for the number x .
输入输出样例
输入#1
4 4 4 1 16 4 4 6 2 1 2 2 2 4 7 5 3 5 2 3 5 15 9 10 10 10 10 20 1 100 200 2000 3
输出#1
0 2 3 3
说明/提示
In the first test case, Sam got lucky and the sequence is already great for the number 4 because you can divide it into such pairs: (1,4) , (4,16) . Thus we can add 0 numbers.
In the second test case, you can add numbers 1 and 14 to the sequence, then you can divide all 8 integers into such pairs: (1,2) , (1,2) , (2,4) , (7,14) . It is impossible to add less than 2 integers to fix the sequence.