babilon

Time limit: 0.05s Memory limit: 4MB Input: babilon.in Output: babilon.out

Babilonienii au dezvoltat un sistem pozițional de scriere a numerelor, în care orice număr natural se poate reprezenta utilizând semnele:

Semn Cifra
unu
zece

Valorile kk din {22, 33, ......, 99} se obțin scriind semnul pentru unu de kk ori
Exemplu: scrierea babiloniană a lui 33 este

Numerele 1111, 1212, \dots, 5959 se obțin ca succesiuni de semne urmate de semne
Exemplu: 4343 se reprezintă ca

Sistemul folosește gruparea unităților câte șaizeci. Astfel, pentru a scrie numărul șaizeci se folosește același semn ca pentru unu, dar valoarea sa este dată de poziția în care se găsește semnul.
Babilonienii nu foloseau cifra 00. Pentru poziţionarea corectă a semnelor se utiliza spațiu:

Exemple:

Număr Reprezentare
6060
36003600

Se codifică scrierea babiloniană a unui număr astfel:

Cifră Semn
11
22
33

Exemple:

Scrierea babiloniană Codificarea scrierii babiloniene Valoarea zecimală a numărului
13111311 160+2=621 \cdot 60 + 2 = 62
1212 160+10=701 \cdot 60 + 10 = 70
12211111221111 160+20+4=841 \cdot 60 + 20 + 4 = 84
12311111231111 16060+1060+3=42031 \cdot 60 \cdot 60 + 10 \cdot 60 + 3 = 4203

Cerință

Dându-se un număr natural nn și un șir de nn cifre dintre {11, 22, 33}, reprezentând codificarea scrierii babiloniene a unui număr natural, să se determine:

  1. numărul maxim de cifre 11 aflate pe poziții consecutive în codificarea scrierii babiloniene date;
  2. numărul natural din sistemul zecimal corespunzător scrierii babiloniene date.

Date de intrare

Fișierul de intrare babilon.in va conține:

  • pe prima linie un număr natural pp (1p21 \leq p \leq 2);
  • pe a doua linie un număr natural nn;
  • pe a treia linie nn cifre separate prin câte un spațiu, reprezentând codificarea scrierii babiloniene a unui număr natural.

Date de ieșire

Dacă valoarea lui pp este 11, atunci se va rezolva numai punctul 11 din cerință. În acest caz, fişierul de ieşire babilon.out va conţine pe prima linie un număr natural reprezentând numărul maxim de cifre 11 aflate pe poziții consecutive în codificarea scrierii babiloniene date.
Dacă valoarea lui pp este 22, atunci se va rezolva numai punctul 22 din cerință. În acest caz, fişierul de ieşire babilon.out va conţine pe prima linie numărul natural corespunzător scrierii babiloniene date.

Restricţii şi precizări

  • 2n1092 \leq n \leq 109;
  • se garantează faptul că numărul de cifre al rezultatului de la punctul 22 (numărul zecimal) este mai mic decât 2020;
  • 30%30\% din teste vor avea pe prima linie valoarea 11, iar restul de 70%70\% din teste vor avea pe prima linie valoarea 22.

Exemplul 1

babilon.in

1
8
1 1 3 2 1 1 1 2

babilon.out

3

Explicație

1 1 3 21 \ 1 \ 3 \ 2 1 1 1 22
Cea mai lungă secvență de cifre 11 are lungimea 33.

Exemplul 2

babilon.in

2
7
1 1 3 2 1 1 1

babilon.out

7213

Explicație


22 se înmulțește de două ori cu 6060 (o dată pentru că este urmat de spațiu și încă o dată pentru că precede o grupă care începe cu semnul pentru zece), apoi se adună valoarea 1313.
26060+10+3=72132 \cdot 60 \cdot 60 + 10 + 3 = 7213

Exemplul 3

babilon.in

2
9
1 1 1 2 1 1 2 2 1

babilon.out

11541

Explicație


33 se înmulțește cu 6060 de două ori pentru că este precedat de două grupe care încep cu semnul pentru zece, apoi se adună 1212 înmulţit cu 6060 şi la final se adună 2121.
36060+1260+21=115413 \cdot 60 \cdot 60 + 12 \cdot 60 + 21 = 11541

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