Mistrzostwa Polski Szkół Średnich w Programowaniu Zespołowym 2024
Problem description
Przemek obserwuje ruch samochodów na drodze. Droga jest dwukierunkowa i łączy wschodnią część miasta z zachodnią. Ponieważ Przemek stoi na wzgórzu, to widzi dokładane położenie wszystkich samochodów. Zastanawia się teraz, ile par samochodów minie się między sobą. Dwa samochody miną się, jeśli jadą w przeciwnych kierunkach, gdy pierwszy z nich (patrząc od lewej) jedzie na wschód, a drugi na zachód. Zakładamy, że samochody nie zawracają, nie wyprzedzają oraz wszystkie jadą prosto przed siebie.
Napisz program, który wczyta ciąg samochodów, wyznaczy liczbę par samochodów, które się miną i wypisze wynik na standardowe wyjście.
Wejście
W pierwszym wierszu wejścia znajduje się jedna liczba całkowita N, oznaczająca liczbę wszystkich
samochodów, które widzi Przemek. W drugim wierszu wejścia znajduje się
liczb całkowitych Ai,
oznaczających kolejne samochody, podawane w kolejności od najbardziej
położonych na zachód (samochód i jest położony bardziej na zachód
niż samochód i + 1). Liczba
Ai,
oznacza kierunek jazdy i-tego
samochodu: 0
– samochód jedzie na wschód, 1
–
samochód jedzie na zachód.
Wyjście
Pierwszy i jedyny wiersz wyjścia powinien zawierać jedną liczbę całkowitą, równą liczbie par samochodów, które będą się mijały.
Ograniczenia
1 ≤ N ≤ 1 000 000.
W testach wartych łącznie 40% maksymalnej punktacji: N ≤ 2 000.
Przykład
Input | Output | Explanation |
|
|
Pary samochodów, które się miną to: (1,2), (1,4), (1,5), (3,4), (3,5). |