Se consideră un șir a[1]
, a[2]
, …, a[n]
de numere distincte din mulțimea {1, 2, ..., n}
. O operație constă din extragerea unui număr din șir de la o anumită poziție și inserarea lui în altă poziție a șirului. De exemplu, dacă a = 1, 2, 5, 3, 6, 4
, atunci 5
poate fi inserat după 3
și se obține a = 1, 2, 3, 5, 6, 4
.
Cerința
Să se obțină șirul ordonat crescător efectuând un număr minim de operații de inserare.
Date de intrare
Programul citește de la tastatură numărul n
, iar apoi n
numere naturale, separate prin spații.
Date de ieșire
Programul va afișa pe ecran un singur număr natural reprezentând numărul minim de operații de inserare necesar ordonării crescătoare a șirului.
Restricții și precizări
1 ≤ n ≤ 100 000
Exemplu:
Intrare
6 1 2 5 3 6 4
Ieșire
2
Explicație
O soluție de ordonare efectuând două operații este următoarea. Se ia 5
și se inserează după 3
. Se obține 1
, 2
, 3
, 5
, 6
, 4
. Se ia apoi 4
și se inserează după 3
. Se obține 1
, 2
, 3
, 4
, 5
, 6
.