Codeforces Round 768 (Div. 2) |
---|
Закончено |
Дан массив $$$a$$$ целых чисел размера $$$n$$$. Вы можете выполнять следующую операцию неограниченное количество раз:
Например, при $$$a = [2, 1, 3, 4, 5, 3]$$$ и выборе $$$l = 1$$$ и $$$k = 2$$$, проделывая описанную операцию, получим $$$a = [3, 4, 3, 4, 5, 3]$$$.
Найдите минимальное количество операций (возможно ноль), необходимых для того, чтобы сделать все элементы массива равными друг другу.
Каждый тест состоит из нескольких наборов входных данных. Первая строка ввода содержит одно целое число $$$t$$$ ($$$1 \leq t \leq 2 \cdot 10^4$$$) — количество наборов входных данных. Далее следует их описание.
Первая строка каждого набора содержит целое число $$$n$$$ ($$$1 \leq n \leq 2 \cdot 10^5$$$) — размер массива.
Вторая строка каждого набора содержит $$$n$$$ целых чисел $$$a_1, a_2, \dots, a_n$$$ ($$$1 \leq a_i \leq n$$$) - элементы массива $$$a$$$.
Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$2 \cdot 10^5$$$.
Выведите $$$t$$$ строк, содержащих ответ к соответствующим наборам входных данных — минимальное количество операций, необходимых для того, чтобы сделать все элементы массива равными друг другу.
531 1 122 154 4 4 2 444 2 1 311
0 1 1 2 0
В первом наборе входных данных все элементы массива равны, следовательно, никаких операций не требуется.
Во втором наборе можно выполнить операцию с $$$k=1$$$ и $$$l=1$$$, присвоив $$$a_1 := a_2$$$, и массив станет равным $$$[1, 1]$$$ за $$$1$$$ операцию.
В третьем наборе можно выполнить операцию с $$$k=1$$$ и $$$l=4$$$, присвоив $$$a_4 := a_5$$$, и массив станет равным $$$[4, 4, 4, 4, 4]$$$.
В четвертом наборе можно выполнить операцию с $$$k=1$$$ и $$$l=3$$$, присвоив $$$a_3 := a_4$$$ и получив массив, равный $$$[4, 2, 3, 3]$$$. Затем можно выполнить операцию с $$$k=2$$$ и $$$l=1$$$, присвоив $$$a_1 := a_3$$$, $$$a_2 := a_4$$$ и получив массив, равный $$$[3, 3, 3, 3]$$$.
В пятом наборе массив состоит только из одного элемента, поэтому никаких операций не требуется.
Название |
---|