lightbot

Time limit: 0.05s Memory limit: 4MB Input: lightbot.in Output: lightbot.out


În acest an evenimentul ”Hour of Code” a înregistrat un număr record de participanți din țara noastră. În cadrul acestui eveniment una dintre cele mai accesate aplicații a fost Lightbot, care a permis elevilor să-și testeze abilitățile de programare.
Aplicația Lightbot are NN nivele, numerotate consecutiv de la 11 la NN, în ordinea strict crescătoare a complexității lor. Lightbot a permis fiecărui participant să înceapă cu orice nivel strict mai mic decât N1N - 1 și să sară peste un singur nivel, fără a finaliza codul, trecând la nivelul următor celui sărit. La finalizarea cu succes a codului corespunzător nivelului curent, participantul este promovat la nivelul imediat următor. Fiecare participant a început scrierea codurilor la un nivel PP și a sărit peste un nivel LL (P<L<P+KP \lt L \lt P + K), finalizând KK nivele memorate ca o succesiune de numere naturale de forma P,P+1,...,L1,L+1,...,P+KP, P + 1, ..., L - 1, L + 1, ..., P + K. Succesiunile de nivele finalizate de participanți au fost memorate în fișierul lightbot.in. Succesiunile corespunzătoare participanților nu se intercalează în fișier.

Cerință

Scrieţi un program care citeşte succesiunile corespunzătoare nivelelor finalizate de participanții care au jucat Lightbot și determină:

  1. numărul total de participanți
  2. numărul celui mai dificil nivel care a fost rezolvat de un număr maxim de participanți
  3. pentru fiecare participant, numărul nivelului sărit de acesta

Date de intrare

Fişierul de intrare lightbot.in conţine pe prima linie una dintre valorile 11, 22 sau 33, reprezentând cerinţa 11 dacă se cere determinarea numărului total de participanți, cerinţa 22 dacă se cere determinarea numărului celui mai dificil nivel care a fost rezolvat de un număr maxim de participanți, respectiv cerinţa 33, dacă se cere determinarea, pentru fiecare participant, a numărului nivelului sărit de acesta.
A doua linie a fișierului conține numărul natural NN de nivele corespunzător aplicației Lightbot, iar pe a treia linie, succesiunile de numere naturale nenule corespunzătoare nivelelor finalizate de participanți, separate două câte două prin câte un spaţiu.

Date de ieşire

Fişierul de ieşire lightbot.out va conţine pe prima linie un număr natural M, reprezentând numărul total de participanți dacă cerința a fost 11, un număr natural reprezentând numărul celui mai dificil nivel care a fost rezolvat de un număr maxim de participanți, dacă cerința a fost 22, respectiv, o secvență de MM numere naturale separate prin câte un spațiu ce reprezintă nivele sărite de participanți în ordinea succesiunilor memorate în fișier, dacă cerința a fost 33.

Restricţii şi precizări

  • 3N200 0003 \leq N \leq 200 \ 000.
  • 1XN1 \leq X \leq N, pentru orice număr XX memorat pe a treia linie a fișierului lightbot.in.
  • 1P<L<P+KN1 \leq P \lt L \lt P + K \leq N, pentru orice succesiune de KK nivele finalizate, corespunzătoare unui participant, care a început scrierea codurilor la nivelul PP și a sărit peste nivelul LL.
  • O secvență de valori consecutive aparține unui singur participant.
  • A treia linie a fișierului de intrare conține cel mult 400 000400 \ 000 de numere.
  • Pentru rezolvarea corectă a cerinţei 11 se obţine 20%20\% din punctaj.
  • Pentru rezolvarea corectă a cerinţei 22 se obţine 40%40\% din punctaj.
  • Pentru rezolvarea corectă a cerinţei 33 se obţine 40%40\% din punctaj.

Exemplul 1

lightbot.in

1
10
1 2 4 2 4 6 7 9

lightbot.out

3

Explicaţie

Sunt trei participanți, care au finalizat nivelele: 1,2,41, 2, 4 (primul), 2,42, 4 (al doilea) şi 6,7,96, 7, 9 (al treilea).

Exemplul 2

lightbot.in

2
10
1 2 4 2 4 6 7 9

lightbot.out

4

Explicaţie

Nivele 22 și 44 au fost finalizate de câte doi participanți, cel mai greu fiind nivelul 44.

Exemplul 3

lightbot.in

3
10
1 2 4 2 4 6 7 9

lightbot.out

3 3 8

Explicaţie

Primul participant a sărit nivelul 33, al doilea nivelul 33, iar al treilea nivelul 88.

Log in or sign up to be able to send submissions!