11724. Змінити послідовність


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Author:
Problem type
Allowed languages
C++, Java, Pascal, Python

Вам надається послідовність \(A_1, A_2, \ldots, A_N\)​. Ви хочете, щоб усі елементи послідовності були рівними. Щоб досягти цього, ви можете виконати нуль або більше ходів. У кожному ході ви повинні вибрати індекс \(i\) (\(1 \le i \le N\)), потім вибрати \(j = i-1\) або \(j = i+1\) (не дозволяється вибрати \(j = 0\) або \(j = N+1\)) і змінити значення \(A_i\) на \(A_j\) ​--- іншими словами, ви повинні замінити значення одного елемента послідовності одним із сусідніх елементів.

Яку мінімальну кількість ходів потрібно зробити, щоб усі елементи послідовності були рівними?

Обмеження

  • \(1 \le T \le 100\)
  • \(1 \le N \le 100\)
  • \(1 \le A_i \le 100\)

Формат вхідних даних

Перший рядок вхідних даних містить одне ціле число \(T\) - кількість тестів.

Перший рядок кожного тесту містить одне ціле число \(N\).

Другий рядок містить \(N\) цілих чисел \(A_i\)

Числа у рядках розділяються пропуском.

Формат вихідних даних

У вихідний потік вивести, в окремих рядках для кожного тесту, відповідь на поставлене завдання

Приклад вхідних даних

3
5
1 1 1 1 1
4
9 8 1 8
2
1 9

Приклад вихідних даних

0
2
1

Коментарі

Ще немає коментарів.