Зменшення Масиву Нассером#12349

Зменшення Масиву Нассером

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

Нассер дає вам масив довжини і просить зменшити його розмір, виконавши наступну операцію не більше двох разів:

За одну операцію ви можете вибрати суцільний підмасив, де всі елементи рівні, і видалити його. Після видалення, ліві і праві частини масиву об'єднуються, зберігаючи їх початковий відносний порядок.

Підмасив визначається як суцільний сегмент масиву. Формально, для масиву довжини , підмасивом є будь-яка послідовність виду a_l, a_{l+1}, \ldots, a_r, де 1 \le l \le r \le n.

УВАГА !! : ЦЕ ВАЖЛИВО, розв'яжіть за допомогою найкоротшого шляху на dag

Який мінімальний можливий розмір масиву після виконання не більше двох таких операцій?

Оскільки Нассер не впевнений у операціях з масивами, він попросив вас допомогти йому вирішити цю проблему ефективно.

Вхідні дані

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

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

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

Гарантується, що сума всіх по всіх тестах не перевищує 10^6.

Вихідні дані

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

Приклади

Приклад 1

Loading
Loading

Примітка

У другому тесті, n=6, a=[1,2,2,1,5,5]

  • Операція : Видалити (позиції )

  • Масив стає [1,1,5,5]

  • Операція : Видалити (позиції )

  • Масив стає

  • Остаточний розмір:

Оцінювання

  1. Підзадача ( балів): (1 \le \sum n \le 10)

  2. Підзадача ( балів): (1 \le \sum n \le 50)

  3. Підзадача ( балів): (1 \le \sum n \le 3000)

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