La ora de sport, cei elevi din clasă s-au aliniat pe un singur rând în faţa profesorului. Nu au încercat să se ordoneze după înălţime, deoarece ştiau că profesorul are propria metodă de ordonare, pe care o aplică la începutul fiecărei ore. Profesorul alege un elev, pe care-l trimite la unul dintre cele două capete ale rândului. Procedeul se repetă până când şirul de elevi este ordonat crescător după înălţime. Copiii s-au gândit să-l ajute pe profesor să-şi perfecţioneze metoda, astfel încât numărul de elevi care vor fi mutaţi prin acest procedeu la un capăt sau la celălalt al şirului să fie minim.
Cerinţă
Cunoscând numărul de elevi, înălţimile şi poziţiile lor iniţiale în şir, determinaţi numărul minim de mutări pe care profesorul de sport trebuie să le aplice, pentru a ordona şirul de elevi, crescător după înălţime.
Date de intrare
Fişierul de intrare sport.in
conţine pe prima linie numărul natural reprezentând numărul de copii. Pe linia a doua, se găsesc numere naturale distincte: , , , , separate prin câte un singur spaţiu. Al -lea număr de pe linie reprezintă înălţimea copilului care se află pe poziţia înainte de orice operaţie de mutare.
Date de ieșire
În fişierul de ieşire sport.out
se va scrie pe prima linie un număr natural , reprezentând numărul minim de mutări pe care profesorul le poate face pentru a sorta şirul de elevi, crescător după înălţime.
Restricții și precizări
Exemplul 1
sport.in
4
2 1 3 5
sport.out
1
Explicație
Profesorul mută elevul de înălţime la capătul din stânga:
Exemplul 2
sport.in
3
3 2 1
sport.out
2
Explicație
Profesorul are la dispoziţie mai multe variante cu minimum mutări. Prezentăm una dintre acestea:
Mută elevul de înălţime la capătul din stânga:
Mută elevul de înălţime la capătul din dreapta:
Exemplul 3
sport.in
5
3 7 2 6 9
sport.out
3
Explicație
Minimum mutări. Una dintre variante este:
Mută elevul de înălţime la capătul din dreapta:
Mută elevul de înălţime la capătul din stânga:
Mută elevul de înălţime la capătul din dreapta: