Rezolvare PBinfo #4444

Decorative Icon Problema: puteri3_ONI / 4444

Decorative IconAutor: Darius

Lui Scortzy îi plac foarte mult bilele și puterile lui 3, astfel și-a organizat colecția de bile în cutii, după următoarea regulă: în prima cutie a pus o bilă, în a doua cutie 3 bile, în a treia cutie 9 bile, apoi 27, 81, 243, … ș.a.m.d. Privind linia lungă de cutii Scortzy și-a pus întrebarea: Ce număr de bile poate obține folosind bilele din cutii, fără a le scoate din cutie?

Pentru a răspunde întrebării a început să formeze numerele: 0 (nici o cutie), 1 (cutia 1), 3 (cutia 2), 4 (cutiile 1 și 2), 9 (cutia 3) … ș.a.m.d., obținând șirul lui Scortzy, primii termeni ai acestui șir fiind: 0, 1, 3, 4, 9, 10, 12, 13, 27, 28, 30, 31, 36, 37.

Plăcându-i noul șir obținut Scortzy dorește să rezolve următoarele probleme:

Cerința

1. Citind un număr natural n determină câte cutii au mai puțin de n bile în ele;
2. Citind un număr natural n urmat de n valori naturale x1, x2, ..., xn determină câte bile sunt, în fiecare dintre cutiile utilizate, pentru a obține cel de-al xi-lea număr din șirul lui Scortzy.

Date de intrare

Pe prima linie a fișierului puteri3.in se află numerele naturale c și n, separate printr-un spațiu. Dacă c=2 atunci pe următoarele n linii se vor găsi n valori naturale x1, x2, ..., xn, câte una pe linie, ce reprezintă pozițiile din șirul lui Scortzy.

Date de ieșire

Dacă c=1 atunci fișierul puteri3.out va conține un singur număr care reprezintă soluția cerinței 1, iar dacă c=2 atunci fișierul puteri3.out va conține pe fiecare din cele n linii ale sale unul sau mai multe numere. Pe linia i a fișierului puteri3.out se vor afla unul sau mai multe numere, separate prin câte un spațiu, în ordine crescătoare, ce reprezintă numărul de bile din fiecare cutie folosită pentru a obține numărul de pe poziția x_i din șirul lui Scortzy.

Restricții și precizări
  • C ∈ {1, 2}
  • 1 ≤ x1, x2, . . . , xn ≤ 1018
  • Pentru c = 1, 1 ≤ n ≤ 1018
  • Pentru c = 2, 1 ≤ n ≤ 1000, numărul de bile dintr-o cutie nu are mai mult de 80 de cifre.
  • Pentru 20 de puncte, c = 1
  • Pentru 30 de puncte, c = 2, 1 ≤ x1, x2, . . . , xn ≤ 1000
  • Pentru 35 de puncte, c = 2, numărul de bile dintr-o cutie nu este mai mare decât 1018
  • Pentru 15 de puncte, c = 2, fără restricții suplimentare.
Exemplul 1:

puteri3.in

1 100

puteri3.out

5

Explicație

Cutiile cu 1, 3, 9, 27 și 81 bile au mai puțin de 100 de bile în ele.

Exemplul 2:

puteri3.in

2 3
4
14
9

puteri3.out

1 3
1 9 27
27

Explicație

Primii termeni ai șirului lui Scortzy sunt: 0, 1, 3, 4, 9, 10, 12, 13, 27, 28, 30, 31, 36, 37.
Termenul de pe poziția 4 are valoarea 4 și se obține din suma 1 + 3.
Termenul de pe poziția 14 are valoarea 37 și se obține din suma 1 + 9 + 27.
Termenul de pe poziția 9 are valoarea 27 și se obține folosind cutia ce conține 27 bile.

Decorative Icon Explică rezolvarea folosind Inteligența Artificială

Folosește modelul nostru de AI special antrenament pentru a rezolva problemele de pe PBinfo! În baza creditelor AI primești explicații pentru probleme, pe care le alegi și le rulezi exact atunci când dorești, la un singur click distanță! Află mai multe informații:

👉 Achiziționează credite AI
Andrei Frîntu
Andrei Frîntu

Fondatorul platformei - mentor Academia

LinkedIn Instagram GitHub
© Copyright 2026 - CodulLuiAndrei.ro - Toate drepturile sunt rezervate