Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
ZSNR1ZAD5 - Samochody |
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.
Wejście
W pierwszym wierszu wejścia znajduje się jedna liczba całkowita n (1 <= n <= 10^6 ), oznaczająca liczbę wszystkich samochodów, które widzi Przemek. W drugim wierszu wejścia znajduje się n liczb całkowitych s1, s2, . . . , sn (0 <= si <= 1), oznaczających kolejne samochody, podawane w kolejności od najbardziej położonych na zachód (samochód si jest położony bardziej na zachód niż samochód si+1). Liczba si , oznacza kierunek jazdy i-tego samochodu: 0 – samochód jedzie na wschód, 1 – samochód jedzie na zachód. W testach wartych co najmniej 30% punktów zachodzi dodatkowy warunek n <= 10^3 .
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.
Example
Input:
5
0 1 0 1 1
Output:
5
Wyjaśnienie do przykładu:
Pary mijających się samochodów: (1, 2), (1, 4), (1, 5), (3, 4), (3, 5).
Dodane przez: | Marcin Kasprowicz |
Data dodania: | 2017-10-05 |
Limit czasu wykonania programu: | 1s |
Limit długości kodu źródłowego | 50000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | All except: ASM32-GCC MAWK BC C-CLANG NCSHARP CPP14-CLANG COBOL COFFEE D-CLANG D-DMD ELIXIR FANTOM FORTH GOSU GRV JS-MONKEY JULIA KTLN NIM OBJC OBJC-CLANG OCT PICO PROLOG R RACKET RUST SCM qobi CHICKEN SQLITE SWIFT UNLAMBDA VB.NET |
ukryj komentarze