Codeforces Round 773 (Div. 1) |
---|
Закончено |
Последовательность положительных целых чисел называется великой для заданного положительного целого числа $$$x$$$, если ее элементы можно разбить на пары так, что одно из чисел в паре при умножении на $$$x$$$ будет равно другому числу в паре. Более формально, последовательность $$$a$$$ длины $$$n$$$ великая для заданного числа $$$x$$$, если $$$n$$$ четно и существует такая перестановка $$$p$$$ размера $$$n$$$, что для любого $$$i$$$ ($$$1 \le i \le \frac{n}{2}$$$) выполняется, что $$$a_{p_{2i-1}} \cdot x = a_{p_{2i}}$$$.
У Стаса есть последовательность положительных целых чисел $$$a$$$ и положительное целое число $$$x$$$. Помогите ему сделать последовательность великой: найдите минимальное количество положительных целых чисел, которое можно приписать к последовательности $$$a$$$, чтобы она стала великой для числа $$$x$$$.
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится единственное целое число $$$t$$$ ($$$1 \le t \le 20\,000$$$) — количество наборов входных данных. Далее следуют описания наборов входных данных.
В первой строке описания каждого набора входных данных находится два целых числа $$$n$$$, $$$x$$$ ($$$1 \le n \le 2 \cdot 10^5$$$, $$$2 \le x \le 10^6$$$).
В следующей строке находится $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$1 \le a_i \le 10^9$$$).
Гарантируется, что сумма значений $$$n$$$ по всем наборам входных данных не превосходит $$$2 \cdot 10^5$$$.
Для каждого набора входных данных выведите минимальное количество положительных целых чисел, которое можно добавить к последовательности $$$a$$$, чтобы она стала великой для числа $$$x$$$.
44 41 16 4 46 21 2 2 2 4 75 35 2 3 5 159 1010 10 10 20 1 100 200 2000 3
0 2 3 3
В первом наборе входных данных последовательность уже является великой для числа $$$4$$$, потому что числа можно разбить на пары $$$(1, 4)$$$, $$$(4, 16)$$$. Поэтому можно добавить $$$0$$$ чисел.
Во втором наборе входных данных можно добавить числа $$$1$$$ и $$$14$$$ к последовательности, тогда получившиеся $$$8$$$ чисел можно разбить на пары $$$(1, 2)$$$, $$$(1, 2)$$$, $$$(2, 4)$$$, $$$(7, 14)$$$. Меньше чем $$$2$$$ числа добавить невозможно.
Название |
---|