binar

Time limit: 0.3s Memory limit: 8MB Input: binar.in Output: binar.outPoints by default: 10p

Pentru a converti un număr din zecimal în binar îl vom împărți la 22 în mod repetat, până ce obținem câtul zero. Apoi vom colecta resturile obținute de la ultimul către primul. Aceste resturi sunt cifrele din reprezentarea binară a numărului dat, de la stânga la dreapta. De exemplu, 13(10)=1101(2)13_{(10)} = 1101_{(2)}.

Cerinţă

Scrieţi un program care, pentru un şir dat de nn numere naturale, rezolvă următoarele cerințe:

  1. Determină cel mai mare dintre cele nn numere date ce are număr maxim de valori de 11 în reprezentarea binară.
  2. Determină cea mai lungă secvență de numere care au număr egal de valori de 11 în reprezentarea binară. Dacă sunt mai multe astfel de secvențe de lungime maximă, se va alege cea mai din stânga. O secvență este un subșir de numere care apar pe poziții consecutive în șirul inițial.

Date de intrare

Fişierul binar.in conţine pe prima linie numărul CC reprezentând cerința (11 sau 22), pe a doua linie numărul natural nn, iar pe a treia linie nn numere naturale separate prin câte un spațiu.

Date de ieşire

Dacă C=1C = 1, atunci pe prima linie a fişierului de ieşire binar.out se va scrie numărul ce reprezintă răspunsul la cerința 11.
Dacă C=2C = 2, atunci pe prima linie a fişierului de ieşire binar.out se vor scrie, separate printr-un spațiu, lungimea maximă a secvenței determinate și poziția primului termen din secvență (se consideră că primul număr din cele nn numere date se găsește pe poziția 11).

Restricții și precizări

  • 1n1 000 0001 \leq n \leq 1 \ 000 \ 000;
  • Valorile din șirul de intrare sunt numere naturale de cel mult 99 cifre.
  • Pentru 30%30\% din teste cerinţa va fi C=1C=1.

Exemplul 1

binar.in

1
7
16 12 3 5 14 13 11

binar.out

14

Explicație

16(10)=10000(2)16_{(10)}=10000_{(2)}; 12(10)=1100(2)12_{(10)}=1100_{(2)}; 3(10)=11(2)3_{(10)}=11_{(2)}; 5(10)=101(2)5_{(10)}=101_{(2)}; 14(10)=1110(2)14_{(10)}=1110_{(2)}; 13(10)=1101(2)13_{(10)}=1101_{(2)}; 11(10)=1011(2)11_{(10)}=1011_{(2)};
Cel mai mare număr de valori de 11 dintr-o reprezentare binară este 33; cel mai mare număr ce are 33 de 11 în reprezentarea binară este 1414.

Exemplul 2

binar.in

2
7
16 12 3 5 14 13 11

binar.out

3 2

Explicație

Sunt două secvențe de lungime maximă de numere care au număr egal de valori de 11 în reprezentarea binară: 12 3 512 \ 3 \ 5 și 14 13 1114 \ 13 \ 11. O vom alege pe cea mai din stânga, care are lungimea 33 și începe la poziția 22.

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