Encyklopedia [B]
Limit pamięci: 64 MB
Mały Jaś codziennie z zapałem przegląda rodzinny egzemplarz encyklopedii Bajtoniki,
zafascynowany cudownymi obrazkami.
Bajtonika to typowa encyklopedia odcinkowa.
Co jakiś czas ukazują się nowe strony, które wkłada się do segregatora.
Rodzice Jasia, dla bezpieczeństwa, każdą stronę przed włożeniem do segregatora
umieszczają najpierw w przezroczystej koszulce.
Pewnego dnia Jaś tak niefortunnie upuścił Bajtonikę, że wszystkie koszulki wypadły z segregatora,
a wszystkie strony z koszulek i zrobił się wielki bałagan.
Na szczęście nic się nie pogubiło i koszulek jest dalej tyle samo co stron.
Koszulki i strony, zgarnięte w jeden stosik, leżą wymieszane na podłodze.
Jaś będzie próbował z powrotem złożyć Bajtonikę.
Nie potrafi jeszcze czytać, więc kolejność stron nie jest dla niego ważna.
Istotne jest tylko, żeby strony umieścić z powrotem w koszulkach.
W każdym kroku Jaś może zamienić jeden dowolnie wybrany element stosu z podłogi (stronę lub koszulkę)
z sąsiednim. Przestaje, gdy strony i koszulki występują w stosie naprzemiennie - dalej
składanie Bajtoniki będzie już mechaniczne.
Pomóż Jasiowi i oblicz, ile najmniej operacji zamiany sąsiednich elementów musi wykonać,
by złożyć Bajtonikę.
Zadanie
Napisz program, który:
- wczyta ze standardowego wejścia opis stosu na podłodze,
- obliczy, ile operacji najmniej potrzeba do złożenia Bajtoniki,
- wypisze wynik na standardowe wyjście.
Wejście
W pierwszym wierszu wejścia znajduje się jedna liczba naturalna (,
oznaczająca liczbę stron (i liczbę koszulek).
W następnych wierszach znajduje się opis stosu z podłogi: liczb naturalnych.
-ta liczba opisuje -ty element na kupce i jest równa , jeśli ten element
jest koszulką, w przeciwnym wypadku liczba to numer strony Bajtoniki, tj.
liczba dodatnia niewiększa niż .
Na wejściu jest tyle samo zer, co liczb dodatnich.
Bajtonika nie jest idealna i numery stron mogą się powtarzać.
Wyjście
Wyjście powinno zawierać dokładnie jeden wiersz, a w nim liczbę naturalną,
oznaczającą minimalną liczbą operacji, koniecznych do złożenia Bajtoniki.
Przykład
Dla danych wejściowych:
5
5
1
0
0
2
4
0
3
0
0
poprawną odpowiedzią jest:
3
Autor zadania: Krzysztof Dulęba.