Numim „oglinda” numărului natural nenul , numărul , obţinut prin modificarea fiecărei cifre din reprezentarea sa binară, de exemplu pentru se obţine .
Cerință
Cunoscându-se numerele naturale , și cele numere naturale nenule, scrieți un program care:
- Transformă în baza doi termenii şirului dat obţinându-se un nou şir format din alipirea cifrelor binare. Din acest şir se vor determina și afișa, separate prin câte un spațiu, toate reprezentările în baza corespunzătoare secvenţelor alăturate de exact cifre binare, parcurse de la stânga la drepta. Dacă ultima secvenţă nu are exact cifre binare, atunci aceasta nu se va mai lua în considerare.
- Să aplice transformări asupra şirului iniţial, înlocuind la fiecare pas orice termen cu „oglinda” sa. Asupra termenilor care devin zero nu se vor mai efectua alte operații. După efectuarea celor transformări, să se determine cea mai lungă secvență de numere care au cifra pe aceeași poziție în reprezentarea lor în baza doi. Dacă sunt mai multe astfel de secvențe având lungimea maximă, se va afișa cea mai din stânga.
Date de intrare
Fişierul de intrare mirror.in
conţine pe primul rând numărul , reprezentând cerința. Pe al doilea rând se află scrise numerele naturale și . Pe rândul al treilea sunt cele numere ale șirului separate prin câte un spațiu.
Date de ieșire
Dacă , atunci în fişierul de ieşire mirror.out
se vor scrie separate prin câte un spațiu, toate numerele cerute în enunț. Dacă , atunci în fişierul de ieşire mirror.out
se va scrie pe prima linie lungimea maximă a secvenței determinate, iar pe următoarea linie separate prin spațiu, poziția primului și ultimului termen din secvență (prima poziție este ).
Restricții și precizări
- ;
- ;
- Elementele șirului sunt mai mici decât ;
- Pentru din teste cerinţa va fi .
Exemplul 1
mirror.in
1
4 2
7 8 2 11
mirror.out
3 3 0 1 1 1
Explicație
; ; ; ; Șirul format este: și grupate câte avem numerele: ; ; ; ; ; .
Exemplul 2
mirror.in
2
5 1
37 72 101 50
116
mirror.out
3
1 3
Explicație
După o transformare numerele în baza 2 sunt:
Cea mai lungă secvență este de lungime , fiind formată din numerele , , care începe pe poziția și se termină pe poziția . Mai există încă o astfel de secvenţa dar se alege cea mai din stânga.