Cerința
Se dau n
numere naturale. Determinaţi lungimea maximă a unei secvenţe de numere din şir cu proprietatea că în scrierea binară sunt formate doar din cifre de 1.
Date de intrare
Programul citește de la tastatură numărul n
, iar apoi n
numere naturale, separate prin spații.
Date de ieșire
Programul va afișa pe ecran numărul L
, reprezentând lungimea maximă a unei secvenţe de elemente din şir cu proprietatea dată.
Restricții și precizări
1 ≤ n ≤ 300.000
- cele
n
numere citite vor fi mai mici decât1.000.000
- dacă în șir nu sunt numere formate numai din cifre de 1 în baza 2, se va afișa 0
Exemplu
Intrare
5 4 6 7 15 88
Ieșire
2
Explicație
Numerele 7 şi 15 au în scrierea în baza 2 numai cifra 1 şi ele formează o secvenţă de lungime 2.
#include <bits/stdc++.h> using namespace std; int main() { int n,x,cnt=0,c=0; cin >> n; for(int i = 1 ; i <= n ; ++i) { cin >> x; int ok=1; while(x>1 && ok) { if(x%2==0) ok=0; x/=2; } if(ok) { c++; if(cnt<c) cnt=c; } else c=0; } cout << cnt; }