Codeforces Round 649 (Div. 2) |
---|
Закончено |
Для заданной перестановки $$$p$$$ длины $$$n$$$, найдите ее подпоследовательность $$$s_1$$$, $$$s_2$$$, $$$\ldots$$$, $$$s_k$$$ длины хотя бы $$$2$$$ такую, что:
Если несколько подпоследовательностей удовлетворяют этим условиям, вы можете найти любую из них.
Последовательность $$$a$$$ является подпоследовательностью $$$b$$$, если $$$a$$$ может быть получена из $$$b$$$ удалением нескольких (возможно, ни одного или всех) элементов.
Перестановка длины $$$n$$$ — это массив длины $$$n$$$, в котором каждый элемент от $$$1$$$ до $$$n$$$ встречается ровно один раз.
В первой строке записано целое число $$$t$$$ ($$$1 \le t \le 2 \cdot 10^4$$$) — количество наборов входных данных. Описание наборов входных данных приведено ниже.
Первая строка каждого набора входных данных содержит целое число $$$n$$$ ($$$2 \le n \le 10^5$$$) — длину перестановки $$$p$$$.
Вторая строка каждого набора входных данных содержит $$$n$$$ целых чисел $$$p_1$$$, $$$p_2$$$, $$$\ldots$$$, $$$p_{n}$$$ ($$$1 \le p_i \le n$$$, $$$p_i$$$ попарно различны) — элементы перестановки $$$p$$$.
Сумма $$$n$$$ по всем наборам входных данных не превышает $$$10^5$$$.
Для каждого набора входных данных первая строка должна содержать длину найденной подпоследовательности, $$$k$$$. Вторая строка должна содержать $$$s_1$$$, $$$s_2$$$, $$$\ldots$$$, $$$s_k$$$ — ее элементы.
Если несколько подпоследовательностей удовлетворяют этим условиям, вы можете найти любую из них.
2 3 3 2 1 4 1 3 4 2
2 3 1 3 1 4 2
В первом тестовом примере есть $$$4$$$ подпоследовательности длиной не менее $$$2$$$:
Таким образом, ответ либо $$$[3,1]$$$, либо $$$[3,2,1]$$$. Поскольку мы хотим, чтобы подпоследовательность была как можно короче, ответ будет $$$[3,1]$$$.
Название |
---|