Fişierul intrare/ieşire: | and.in, and.out | Sursă | preOJI 2016, clasa a 9-a |
Autor | Gemene Narcis - Gabriel | Adăugată de | |
Timp execuţie pe test | 0.05 sec | Limită de memorie | 20480 kbytes |
Scorul tău | N/A | Dificultate |
Vezi solutiile trimise | Statistici
And
Ojilă, obsedat că se apropie OJI, se plimba supărat că nu ştie să aplice prea bine operatorul and. Deodată îi apăru în faţa ochilor un vector de lungime N care conţinea doar numere naturale. Imediat s-a luminat la faţă şi şi-a pus următoarea întrebare simplă: care este cea mai lungă secvenţă de forma ai,ai+1,...,aj astfel încât valoarea expresiei a i and a i+1 and ... and a j să fie diferită de 0.
Date de intrare
Fişierul de intrare and.in conţine pe prima linie numărul N. Pe următoarea linie se află n numere naturale separate prin câte un spaţiu reprezentând elementele vectorului.
Date de ieşire
Fişierul de ieşire and.out va conţine un singur număr natural reprezentând lungimea maximă a unei secvenţe care dă rezultat nenul.
Restricţii
- 2 ≤ N ≤ 100 000
- elementele vectorului sunt numere naturale mai mici sau egale cu 10 9 .
- and este operaţia de conjuncţie pe biţi; operatorul se notează cu & în C/C++ şi cu and în Pascal; de exemplu, 2&3= 10(2) & 11(2) = 10(2) = 2
Exemplu
and.in | and.out |
---|---|
6 1 64 7 2 3 32 | 3 |
Explicaţie
Secvenţa de lungime maximă 3 este 7, 2, 3 pentru că 7 & 2 & 3 = 2