LearnToCP
Prijavi se
Navigacija
PočetnaRoad-mapaProblemiO Nama
Teorija
Takmičarsko Znanje
Izbor Radnog Okruženja (IDE)Interaktivni ZadaciOutput-only Zadaci
Osnove
Tvoj Prvi ProgramTipovi podataka, Unos i IzlazC++ sintaksaModuloFunkcijeVektoriMatriceVremenska Složenost Algoritma
Sortiranje
SortiranjeSortiranje PrebrojavanjemRadix Sort
Tehnike Optimizacije
Dva PokazivačaZbir brojeva od 1 do nZbir PrefiksaBinarna PretragaPohlepni AlgoritmiFunkcije Binarne PretrageBinarna Pretraga po RešenjuPodeli, pa Vladaj
Binarni Brojevi
Binarni BrojeviBrojevi u koduOperacije nad BitovimaBitmaske
Matematika
Binarno StepenovanjeProsti BrojeviRastavljanje na proste činioceNZD i NZSEratostenovo SitoModifikovano Sito
Strukture Podataka
Niske (Stringovi)StekRedMapeSkupovi (Set)Red sa PrioritetomKorišćenje Proizvoljnih KriterijumaSegmentna StablaFenvikova StablaSparse TabeleDisjunktni Skupovi
Kombinatorika
Pravilo SabiranjaPravilo MnoženjaKombinatorni ObjektiPrincip Uključenja Isključenja
Geometrija
Osnove GeometrijeVektoriVektorski i Skalarni ProizvodLinijePoligoniUgloviTačka u PoligonuRastojanja i Tačke PresekaKonveksni OmotačKrugovi
Rekurzija
PokazivačiRekurzijaGenerisanje Kombinatornih Objekata
Dinamičko Programiranje
O DP-uDP problemiDP nad StablimaDP nad BitmaskamaDP nad brojevima
Teorija Grafova
GrafoviDFS i BFSNajkraći PuteviStablaTopološko SortiranjeDajkstrin AlgoritamMinimalna Razapinjuća StablaAlgoritmi Najkraćih Puteva
Napredna Teorija Grafova
Dvostruka PovezanostJako Povezane KomponenteBipartitni GrafMaksimalni Protok u GrafuFord-Fulkersonov AlgoritamDualnost Protoka i Minimalnog PresekaTeško-Laka DekompozicijaCentroidna Dekompozicija
Napredne Strukture Podataka
2D i 3D Segmentna StablaLenjo PropagiranjeImplicitna Segmentna StablaPerzistentna Segmentna StablaNajbliži Zajednički PredakTrieBalansirana Binarna Stabla PretrageMoov Algoritam

Klikeri

HardProblem #74
VremeMemorijaUlazIzlaz
4 s64 MBstdinstdout

Boja ima najviše 20, a niz je određen čim se odluči redosled samih boja.

Marko je poređao n klikera u boji u jedan red. Voli da mu bude uredno, pa hoće da svaka boja završi u jednom jedinom bloku: svi klikeri te boje jedan do drugog, bez ijednog klikera druge boje između njih.

Jedini potez koji sme da odigra je da izabere dva susedna klikera i zameni im mesta.

Odredi najmanji broj zamena posle kojih je red uredan. Blokovi mogu da završe u bilo kom poretku - važno je samo da svaka boja čini tačno jedan od njih.

Ulaz

U prvoj liniji ulaza je jedan ceo broj t - broj test primera.
U prvoj liniji svakog test primera je jedan ceo broj n - broj klikera.
U drugoj liniji je n celih brojeva a1​,a2​,…,an​ - boja svakog klikera, redom kojim leže.

Izlaz

Za svaki test primer ispiši u posebnoj liniji najmanji potreban broj zamena.

Primer

Input
3
7
3 4 2 3 4 2 2
5
20 1 14 10 2
13
5 5 4 4 3 5 7 6 5 4 4 6 5
Output
3
0
21

U prvom test primeru dovoljne su tri zamene: zamenom trećeg i četvrtog klikera dobija se 3,4,3,2,4,2,2, pa drugog i trećeg 3,3,4,2,4,2,2, i na kraju četvrtog i petog 3,3,4,4,2,2,2. U drugom se svaka boja javlja po jednom, pa je red već uredan.

Ograničenja

1≤t≤5
2≤n≤4⋅105
1≤ai​≤20
Zbir n preko svih test primera ne prelazi 4⋅105


Zadatak je nastao po uzoru na Marbles, zadatak 1215E sa Codeforces Round 585, autora Mike Mirzayanov i tima Codeforces. Postavka je naša.

Pošalji svoje rešenje

Prijavi se da pošalješ rešenje i pratiš svoj napredak.

Prijavi se