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 SkupoviSqrt Dekompozicija
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 Bitmaskama
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

Broj inverzija

MediumProblem #60
VremeMemorijaUlazIzlaz
1 s64 MBstdinstdout

Brojanje parova jednog po jednog je presporo. Pazi na veličinu rezultata.

Inverzija u nizu je par pozicija i<j kod kog je raniji element veći, dakle ai​>aj​. Sortiran niz nema nijednu inverziju, a niz sortiran naopako ima ih koliko ima i parova - pa broj inverzija govori koliko je niz daleko od sortiranog.

Tvoj zadatak je da ih prebrojiš.

Ulaz

U prvoj liniji ulaza je jedan ceo broj t - broj test primera.
U prvoj liniji svakog test primera je jedan ceo broj n - dužina niza.
U drugoj liniji je n celih brojeva a1​,a2​,…,an​.

Izlaz

Za svaki test primer ispiši u posebnoj liniji broj inverzija u tom nizu.

Primer

Input
2
5
3 1 4 2 5
4
4 3 2 1
Output
3
6

Prvi niz ima tri inverzije: parove (3,1), (3,2) i (4,2). Drugi je sortiran unazad, pa je svaki od njegovih 6 parova inverzija.

Ograničenja

1≤t≤10
1≤n≤105
−109≤ai​≤109
Zbir n preko svih test primera ne prelazi 2⋅105


Zadatak je, uz dozvolu, preuzet iz zadatka Broj inverzija, čiji su autori Društvo matematičara Srbije i Fondacija Petlja.

Pošalji svoje rešenje

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

Prijavi se