| Codeforces Round 1120 (Div. 1) |
|---|
| Закончено |
Это простая версия задачи. Отличие между версиями заключается в том, что в этой версии вам нужно найти лишь одно подмножество, удовлетворяющее ограничениям. Вы можете делать взломы только в том случае, если решили все версии этой задачи.
Пусть $$$$$$ f(S,x)=\text{mex}\left(\left\{\left\lfloor \frac{y}{x}\right\rfloor : y\in S\right\}\right), $$$$$$ где $$$S$$$ — множество неотрицательных целых чисел, а $$$x$$$ — положительное целое число. $$$^{\text{∗}}$$$
Фермер Джон выбирает некоторое (возможно, пустое) подмножество $$$A\subseteq \{0,1,\ldots,n-1\}$$$. Затем он строит массив $$$a$$$ длины $$$n$$$, где $$$a_k = f(A,k)$$$ для каждого $$$1\le k\le n$$$.
Озорная корова Бесси прячет множество $$$A$$$. У Фермера Джона остаётся только массив $$$a_1,a_2,\ldots,a_n$$$.
Ваша задача — построить любое (возможно, пустое) подмножество $$$B\subseteq \{0,1,\ldots,n-1\}$$$ такое, что $$$f(B,k)=a_k$$$ для каждого $$$1 \le k \le n$$$. Фермер Джон будет давать только такие массивы, для которых подобное $$$B$$$ существует.
$$$^{\text{∗}}$$$$$$\operatorname{mex}(c)$$$ обозначает наименьшее исключенное (MEX)$$$^{\text{∗}}$$$ набора чисел $$$c$$$. (в данном случае это минимальное неотрицательное целое число, отсутствующее во множестве)
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
В первой строке каждого набора входных данных содержится одно целое число $$$n$$$ ($$$1 \leq n \leq 10^5$$$).
Во второй строке каждого набора входных данных содержатся $$$n$$$ целых чисел $$$a_1,a_2,\ldots,a_n$$$ ($$$0 \leq a_i \leq n$$$).
Вам будут даны только такие массивы, для которых существует такое подмножество $$$B \subseteq \{0,1,\ldots,n-1\}$$$, что $$$f(B,k)=a_k$$$ для каждого $$$1 \le k \le n$$$.
Гарантируется, что сумма значений $$$n$$$ по всем наборам входных данных не превосходит $$$10^5$$$.
Для каждого набора входных данных выведите две строки.
В первой строке выведите целое число $$$m$$$ — размер множества $$$B$$$.
Во второй строке выведите $$$m$$$ различных целых чисел $$$b_1,b_2,\ldots,b_m$$$ — элементы множества $$$B$$$. Если $$$m=0$$$, вторая строка должна быть пустой.
Элементы множества $$$B$$$ можно вывести в любом порядке.
Если существует несколько решений, можно вывести любое из них.
360 3 2 2 2 152 1 1 1 161 2 1 1 1 1
51 2 3 4 520 120 2
В первом наборе входных данных один из возможных ответов имеет вид $$$$$$ B=\{1,2,3,4,5\}. $$$$$$ Тогда $$$$$$ f(B,1)=\text{mex}(\{1,2,3,4,5\})=0, $$$$$$ $$$$$$ f(B,2)=\text{mex}(\{0,1,2\})=3, $$$$$$ и $$$$$$ f(B,3)=f(B,4)=f(B,5)=2. $$$$$$ Наконец, $$$$$$ f(B,6)=\text{mex}(\{0\})=1. $$$$$$ Таким образом, получается массив $$$[0,3,2,2,2,1]$$$.
Во втором наборе входных данных один из возможных ответов имеет вид $$$$$$ B=\{0,1\}. $$$$$$ Тогда $$$f(B,1)=2$$$, а для каждого $$$2\le k\le 5$$$ выполняется $$$$$$ \left\{\left\lfloor y/k\right\rfloor : y\in B\right\}=\{0\}, $$$$$$ поэтому $$$f(B,k)=1$$$. Следовательно, получается массив $$$[2,1,1,1,1]$$$.
| Название |
|---|


