Codeforces Round 585 (Div. 2) |
---|
Закончено |
Монокарп выложил на стол слева направо $$$n$$$ шариков, причем цвет $$$i$$$-го слева шарика равен $$$a_i$$$. Он любит порядок, поэтому захотел, чтобы все шарики одного цвета образовывали непрерывные отрезки, причем для каждого цвета этот отрезок был ровно один.
Иными словами, Монокарп хочет расположить шарики так, что для каждого цвета $$$j$$$, если самый левый шарик цвета $$$j$$$ находится в позиции $$$l$$$, а самый правый — в позиции $$$r$$$, то все шарики между позициями $$$l$$$ и $$$r$$$ должны иметь цвет $$$j$$$. Такое расположение шариков Монокарп называет упорядоченным.
Для упорядочивания шариков Монокарп может выполнять следующую операцию: выбрать пару соседних шариков и поменять их местами.
Перед вами стоит задача определить минимальное количество операций, которые должен сделать Монокарп, чтобы упорядочить шарики на столе. Обратите внимание, что не важно, в каком именно порядке будут расположены отрезки, состоящие из одноцветных шариков, главное, чтобы все шарики одинакового цвета образовывали непрерывные отрезки, и для каждого цвета такой отрезок был ровно один.
В первой строке следует целое число $$$n$$$ $$$(2 \le n \le 4 \cdot 10^5)$$$ — количество шариков на столе.
Во второй строке следует последовательность $$$a_1, a_2, \dots, a_n$$$ $$$(1 \le a_i \le 20)$$$, где $$$a_i$$$ равно цвету $$$i$$$-го шарика.
Выведите минимальное количество обменов соседних шариков, которые должен сделать Монокарп, чтобы упорядочить шарики на столе.
7 3 4 2 3 4 2 2
3
5 20 1 14 10 2
0
13 5 5 4 4 3 5 7 6 5 4 4 6 5
21
В первом примере Монокарпу достаточно сделать три обмена. Сначала он может поменять местами третий и четвертый шарики, после этого последовательность шариков станет равна $$$[3, 4, 3, 2, 4, 2, 2]$$$. Затем Монокарп может поменять местами второй и третий шарики, после этого последовательность шариков станет равна $$$[3, 3, 4, 2, 4, 2, 2]$$$. После этого Монокарпу остается поменять местами четвертый и пятый шарики, после этого последовательность шариков станет равна $$$[3, 3, 4, 4, 2, 2, 2]$$$.
Во втором примере ничего менять не нужно, так как все шарики уже лежат в удовлетворяющем Монокарпа порядке.
Название |
---|