Codeforces Round 848 (Div. 2) |
---|
Закончено |
Вам дана перестановка $$$p$$$ длины $$$n$$$, массив из $$$m$$$ различных целых чисел $$$a_1, a_2, \ldots, a_m$$$ ($$$1 \le a_i \le n$$$) и целое число $$$d$$$.
Пусть $$$\mathrm{pos}(x)$$$ — индекс элемента $$$x$$$ в перестановке $$$p$$$. Массив $$$a$$$ не является хорошим, если
Например, при перестановке $$$p = [4, 2, 1, 3, 6, 5]$$$ и $$$d = 2$$$:
За один ход можно поменять местами два соседних элемента перестановки $$$p$$$. Какое минимальное количество ходов нужно сделать, чтобы массив $$$a$$$ стал хорошим? Можно показать, что всегда существует последовательность ходов, при которой массив $$$a$$$ становится хорошим.
Перестановка — это массив, состоящий из $$$n$$$ различных целых чисел от $$$1$$$ до $$$n$$$ в произвольном порядке. Например, $$$[2,3,1,5,4]$$$ является перестановкой, но $$$[1,2,2]$$$ не является перестановкой ($$$2$$$ дважды встречается в массиве) и $$$[1,3,4]$$$ также не является перестановкой ($$$n=3$$$, но в массиве есть $$$4$$$).
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора содержит три целых числа $$$n$$$, $$$m$$$ и $$$d$$$ ($$$2\leq n \leq 10^5$$$, $$$2\leq m\leq n$$$, $$$1 \le d \le n$$$), длину перестановки $$$p$$$, длину массива $$$a$$$ и значение $$$d$$$.
Вторая строка содержит $$$n$$$ целых чисел $$$p_1, p_2, \ldots, p_n$$$ ($$$1\leq p_i \leq n$$$, $$$p_i \ne p_j$$$ для $$$i \ne j$$$).
Третья строка содержит $$$m$$$ различных целых чисел $$$a_1, a_2, \ldots, a_m$$$ ($$$1\leq a_i \leq n$$$, $$$a_i \ne a_j$$$ для $$$i \ne j$$$).
Сумма $$$n$$$ по всем наборам входных данных не превосходит $$$5 \cdot 10^5$$$.
Для каждого набора входных данных выведите минимальное количество ходов, необходимое для того, чтобы массив $$$a$$$ стал хорошим.
54 2 21 2 3 41 35 2 45 4 3 2 15 25 3 33 4 1 5 23 1 22 2 11 22 16 2 41 2 3 4 5 62 5
1 3 2 0 2
В первом наборе, $$$pos(a_1)=1$$$, $$$pos(a_2)=3$$$. Входных данных можно поступить следующим образом: поменять местами $$$p_3$$$ и $$$p_4$$$. После этого массив $$$a$$$ будет хорошим, так как условие $$$\mathrm{pos}(a_2) \le \mathrm{pos}(a_1) + d$$$ не будет выполнено.
Во втором наборе, $$$pos(a_1)=1$$$, $$$pos(a_2)=4$$$. Можно выполнить $$$3$$$ таких хода:
В третьем наборе, $$$pos(a_1)=1$$$, $$$pos(a_2)=3$$$, $$$pos(a_3)=5$$$. Ходов может быть $$$2$$$:
В четвертом наборе, $$$pos(a_1)=2$$$, $$$pos(a_2)=1$$$. Массив $$$a$$$ уже хороший.
В пятом наборе, $$$pos(a_1)=2$$$, $$$pos(a_2)=5$$$. Ходов может быть $$$2$$$:
Название |
---|