Mistrzostwa Polski Szkół Średnich w Programowaniu Zespołowym 2024
Problem description
Pan Janusz – Prezes firmy Januszex, ponownie znalazł chwilę czasu, aby pobawić się hetmanami na szachownicy (wcześniej bawił się nimi przy okazji zadania Hetmany prezesa z ósmego sparingu). Tym razem zamiast ustawiać jednego hetmana i zastanawiać się ile pól on szachuje, zaczął on ustawiać na szachownicy więcej hetmanów i zastanawiać się jak one się szachują wzajemnie.
Dokładniej, Pan Janusz chciałby rozważać problem znany w informatyce pod nazwą problem ośmiu hetmanów. Problem ten polega na ustawieniu ośmiu hetmanów na zwykłej szachownicy w taki sposób, aby żaden nie atakował innego. Pan Janusz postanowił spróbować szczęścia z tym problemem. Niestety, w Januszex S.A. produkowane są tylko szachownice wymiaru N × N, więc postanowił on ustawiać N hetmanów na takiej szachownicy.
Błyskotliwy umysł Pana Janusza pozwolił mu zauważyć, że jedyna szansa na to, aby ustawić N nieatakujących się hetmanów będzie wtedy, gdy w każdym wierszu postawi dokładnie jednego hetmana. Postanowił więc stawiać hetmany po kolei – najpierw wybrać pole w pierwszym wierszu i postawić tam hetmana, potem pole w drugim wierszu itd. Niestety, mimo jego całego geniuszu, zdarza mu się popełniać błędy – czasami postawi hetmana źle i jest on wtedy atakowany przez innego. Chciałby mieć program, który zasygnalizuje mu takie sytuacje – wówczas Pan Janusz w ogóle zrezygnuje z postawienia hetmana w danym wierszu i przejdzie do następnego. Jeśli jednak hetman jest postawiony poprawnie – program powinien zasygnalizować, że wszystko jest dobrze, a wtedy Pan Janusz pozostawi tam hetmana. Twoim zadaniem jest oczywiście napisać wspomniany program. Ile hetmanów, zgodnie ze swoją strategią, uda się postawic Panu Januszowi?
Napisz program, który: wczyta ciąg pozycji, w których Pan Janusz chce postawić hetmana, wyznaczy liczbę hetmanów, które będą poprawnie ustawione zgodnie ze strategią Pana Janusza i wypisze wynik na standardowe wyjście.
Wejście
W pierwszym wierszu wejścia znajduje się jedna liczba naturalna N, określająca wymiar planszy, a zarazem liczbę hetmanów, które będzie stawiał Pan Janusz. W drugim (ostatnim) wierszu wejścia znajduje się ciąg N liczb naturalnych Ai, pooddzielonych pojedynczymi odstępami – i-ta liczba w ciągu określa, że Pan Janusz chce postawić hetmana w i-tym wierszu w Ai-tej kolumnie.
Wiersze oraz kolumny numerowane są kolejnymi liczbami naturalnymi od 1 do N włącznie.
Wyjście
W pierwszym (i jedynym) wierszu wyjścia należy wypisać jedną nieujemną liczbę całkowitą – liczbę hetmanów, które postawi na szachownicy Pan Janusz.
Ograniczenia
1 ≤ N ≤ 500 000.
Przykład
Wejście | Wyjście | Wyjaśnienie |
|
|
Pan Janusz ustawia pierwszego hetmana w pierwszym wierszu w drugiej kolumnie. Następnie próbuje ustawić hetmana w drugim wierszu w pierwszej kolumnie – niestety ten hetman byłby atakowany przez wcześniej postawionego, więc Pan Janusz rezygnuje z jego ustawienia. Następnie Pan Janusz ustawia hetmana w trzecim wierszu w piątej kolumnie i w czwartym wierszu w trzeciej kolumnie. Na końcu Pan Janusz próbuje ustawić hetmana w piątym wierszu w trzeciej kolumnie – niestety ten hetman byłby atakowany przez hetmana z trzeciego lub czwartego wiersza, Pan Janusz odpuszcza ustawienie tam hetmana. Ostatecznie udało się ustawić trzech hetmanów. |