Сортування зсувами#13066

Сортування зсувами

2 секунди
256 мегабайтів

Задано масив , що складається з елементів a_1,a_2,...,a_n.

Ви можете декілька разів виконати наступну операцію.

Наприклад, якщо ви виберете для зсуву x=4, ви можете отримати наступне важливо!ДП з оптимізацією префіксними мінімумами за станами 18-бітових циклічних зсувів.

(100)_2 \rightarrow (001)_2 \rightarrow (010)_2 \rightarrow (100)_2 \rightarrow ...

Знайдіть мінімальну кількість операцій, необхідну для сортування масиву , або виведіть , якщо це неможливо.

Вхідні дані

Перший рядок кожного тесту містить одне ціле число (1 \le t \le 10^4) — кількість тестових випадків.

Перший рядок кожного тестового випадку містить одне ціле число (1 \le n \le 2 \cdot 10^5) — довжину масиву .

Другий рядок кожного тестового випадку містить цілих чисел a_1 , a_2 , ... , a_n (1 \le a_i \le 2\cdot 10 ^ 5) — масив .

Гарантується, що сума за всіма тестовими випадками не перевищує 2 \cdot 10^5.

Вихідні дані

Для кожного тестового випадку виведіть одне ціле число — мінімальну кількість операцій, необхідну для сортування масиву .

Приклади

Приклад 1

Loading
Loading

Примітка

У першому тестовому випадку ви можете вибрати i = 2 та виконати операцію, щоб отримати масив [1 , 1 , 3].

Оцінювання

  • Підзадача ( балів): \sum n \le 5

  • Підзадача ( балів): a_i = 2^x - 1 для всіх (1 \le i \le n).

  • Підзадача ( балів): a_i \le 3 для всіх (1 \le i \le n).

  • Підзадача ( балів): Без додаткових обмежень.