seism

Time limit: 0.3s Memory limit: 64MB Input: seism.in Output: seism.out

Cercetătorii de la NASA au instalat pe Marte un seismograf cu ajutorul căruia s-au înregistrat mișcările la nivelul solului planetei. Seismograful a trimis în fiecare din cele NN secunde ce definesc perioada de timp analizată, câte un semnal pe Pământ ce a fost codificat de cercetători cu valoarea 11, dacă seismograful a detectat mișcare și 00, în cazul în care nu s-a înregistrat mișcare la nivelul solului planetei. Astfel, un seism de pe Marte a fost definit de cercetători ca fiind o perioadă continuă de timp în care seismograful a trimis, din secundă în secundă, câte un semnal codificat cu 11 și care începe după cel puțin două semnale codificate cu 00, iar la sfârșitul ei sunt înregistrate cel puțin două semnale codificate cu 00.

Cerință

Cunoscând șirul celor NN valori transmise în ordine de seismograf, scrieți un program care să determine:

  1. Care a fost durata maximă, exprimată în secunde a unui seism;
  2. Câte seisme au avut loc în perioada de timp analizată;
  3. Din cauza unei erori tehnice, o perioadă continuă de timp seismograful a transmis eronat. Astfel, în șirul inițial format din cele NN semnale, trebuie să înlocuim valoarea 00 cu valoarea 11, într-o singură secvență, de lungime nevidă, de elemente nule alăturate. Analizând toate posibilitățile de a face această modificare, determinați durata maximă a unui seism care se obține după modificarea șirului inițial de semnale.

Date de intrare

Fișierul de intrare seism.in conține pe prima linie un număr natural CC care poate avea valorile 1,21, 2 sau 33 și reprezintă numărul cerinței.

Pe cea de-a doua linie, un număr natural NN având semnificația din enunț.

Pe următoarea linie, NN numere naturale despărțite prin câte un spațiu, reprezentând codificarea semnalului transmis de seismograf, din secundă în secundă, începând cu secunda 11 și până la secunda NN.

Date de ieșire

Fișierul de ieșire seism.out va conține pe prima linie un singur număr natural reprezentând rezultatul determinat conform cerinței.

Restricții și precizări

  • 5N100 0005 \leq N \leq 100 \ 000;
  • Un seism durează între 11 și N4N - 4 secunde
  • Pentru cerințele 11 și 22 se garantează că seismograful a detectat cel puțin un seism.
  • La cerința 33 se garantează că există cel puțin o secvență nevidă de elemente egale cu 00 ce pot fi schimbate în 11 pentru a avea cel puțin un seism în tot șirul.
  • Pentru rezolvarea corectă a primei cerințe se obțin 4040 de puncte, pentru rezolvarea corectă a celei de a doua cerințe se obțin 4040 de puncte, iar pentru rezolvarea corectă a celei de a treia cerințe se obțin 2020 de puncte.

Exemplul 1

seism.in

1
21
0 0 1 1 1 1 0 0 0 0 0 1 0 1 0 0 1 1 0 0 1

seism.out

4

Explicație

Durata maximă a unui seism este de 44 secunde.

Exemplul 2

seism.in

2
21
0 0 1 1 1 1 0 0 1 0 0 1 0 1 0 0 1 1 0 0 1

seism.out

3

Explicație

Seismograful a înregistrat 33 seisme. Primul seism are durata de 44 secunde, al doilea are durata de 11 secundă și ultimul are durata de 22 secunde.

Exemplul 3

seism.in

3
8
0 0 1 1 0 1 0 0

seism.out

4

Explicație

Elementul din șir de pe poziția 55 se schimbă în 11 și se obține un seism de durată 44 secunde.

Exemplul 4

seism.in

3
14
0 1 1 0 0 0 0 0 0 0 0 0 1 0

seism.out

5

Explicație

Se schimbă în 11 semnalele asociate secundelor 6,7,8,96, 7, 8, 9 și 1010 și se obține un seism de durată 55 secunde.

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