Ludwig are o permutare p=(p[1],p[2],...,p[N]) a mulțimii {1,2,..,N} și o masă pe care putea așeza numerele din permutare. Ludwig ia primul număr din permutare, adică p[1], și îl așează pe masă. Al doilea număr, p[2], îl pune fie în stânga lui p[1], fie în dreapta lui p[1]. La fiecare pas, dacă s-au așezat pe masă deja numerele p[1], p[2], …, p[i], atunci numărul p[i+1] este pus fie în stânga numerelor deja așezate, fie în dreapta lor.
Cerința
Ajutați-l pe Ludwig să determine o modalitate de așezare a întregii permutări pe masă astfel încât în final să se obțină o nouă permutare care are un număr minim de inversiuni.
Date de intrare
Fișierul de intrare inversiuni.in conține pe prima linie numărul natural N, iar pe linia a doua, separate prin câte un spațiu, numerele p[1], p[2], …, p[N].
Date de ieșire
Fișierul de ieșire inversiuni.out va conține un singur număr natural reprezentând numărul minim de inversiuni care se pot obține.
Restricții și precizări
1 ≤ N ≤ 200 000- O inversiune în permutare este o pereche de indici
(i,j)cui<jșip[i]>p[j]. De exemplu, permutareap=(3,2,1,4)are ca inversiune perechea de indici(1,3)pentru căp[1]>p[3]; o altă inversiune este perechea de indici(2,3)pentru căp[2]>p[3].
Exemplul 1
inversiuni.in
4 2 1 3 4
inversiuni.out
0
Explicație
Se așează elementele pe masă astfel:
21 2(1este așezat la stânga)1 2 3(3este așezat la dreapta)1 2 3 4(4este așezat la dreapta)
Se obține permutarea identică, adică zero inversiuni.
Exemplul 2
inversiuni.in
4 2 1 4 3
inversiuni.out
1
Explicație
Se așează elementele pe masă astfel:
21 2(1este așezat la stânga)1 2 4(4este așezat la dreapta)1 2 4 3(3este așezat la dreapta)
Se obține o permutare care are o inversiune.