secv01

Time limit: 0.1s
Memory limit: 5MB
Input: secv01.in
Output: secv01.out

Se citește un șir cu NN valori 00 și 11. Numim secvență alternantă a șirului dat, o succesiune de cel puțin 33 termeni aflați pe poziții consecutive în șir, în care termenii alăturați au valori diferite.
Spunem că o secvență alternantă este secvență T0, dacă începe și se termină cu 00. De exemplu 0 1 0 1 0 sau 0 1 0 sunt secvențe T0.
Spunem că o secvență alternantă este secvență T1, dacă începe și se termină cu 11. De exemplu 1 0 1 0 1 sau 1 0 1 sunt secvențe T1.
Spunem că două secvențe T0 și T1 se intersectează dacă au elemente comune.

Cerințe

  1. Găsiți cea mai lungă secvență de elemente egale cu 0. Afișați numărul de elemente al acesteia.
  2. Alegeți două secvențe, una T0 și alta T1, astfel încât secvența determinată de intersecția acestora să fie cea mai lungă. Afișați poziția de început și poziția de sfârșit a secvenței de elemente corespunzătoare acestei intersecții. Dacă există mai multe astfel de secvențe, se alege secvența cea mai din stânga.

Date de intrare

În fișierul secv01.in se află, pe prima linie, două valori CC și NN separate printr-un spațiu. Pe a doua linie se află NN valori 00 și 11 reprezentând elementele șirului. Pentru C=1C = 1 se rezolvă doar cerința 11 iar pentru C=2C = 2 se rezolvă doar cerința 22.

Date de ieșire

  • Dacă C=1C = 1, atunci se va rezolva doar prima cerință, în fișierul secv01.out se afișează lungimea secvenței căutate;
  • Dacă C=2C = 2, atunci se va rezolva doar a doua cerință, în fișierul secv01.out se vor afișa două numere naturale i și j cu semnificația, i este poziția de început iar j este poziția de sfârșit a secvenței intersecție determinată.

Restricții și precizări

  • 4n100 0004 \leq n \leq 100 \ 000;
  • Se garantează existența în șir de secvențe T0 și T1.

Exemplul 1

secv01.in

1 14
0 1 0 0 0 1 1 0 1 1 0 0 1 0

secv01.out

3

Explicație

0 1 0 0 0 1 1 0 1 1 0 0 1 00 \ 1 \ \colorbox{DarkGray}{0 0 0} \ 1 \ 1 \ 0 \ 1 \ 1 \ 0 \ 0 \ 1 \ 0

Exemplul 2

secv01.in

2 23
0 0 1 0 1 1 0 1 0 0 0 1 0 1 0 1 0 0 1 0 1 0 0

secv01.out

12 16

Explicație

0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 0 00 \ \colorbox{DarkGray}{0 \textcolor{red}{1 0} 1} \ \colorbox{DarkGray}{1 \textcolor{red}{0 1} 0} \ 0 \ \colorbox{DarkGray}{0 \textcolor{red}{1 0 1 0 1} 0} \ \colorbox{DarkGray}{0 \textcolor{red}{1 0 1} 0} \ 0
Intersecția dintre o secvență T0 și una T1 generează secvența de lungime maximă care începe de la poziția 1212 și se termină la poziția 1616.

Problem info

ID: 403

Editor: DeliaD

Author:

Source: Concursul "Micul Gates" 2023 Categoria B

Micul Gates 2023 Categoria B

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