#4995
În laboratoarele Marii Ghilde, ucenicul Jean Carapace are pe masa de lucru N eprubete asezate in linie. Eprubetele sunt numerotate de la stanga la dreapta cu indici de la 1 la N. Fiecare eprubetă i conține inițial o cantitate de Esență Primordială, V[i] , număr natural nenul. Definim o „Pereche Pură” ca fiind două eprubete vecine ale căror cantități sunt reprezentate prin numere prime între ele, adică cmmdc(V[i] , V[i+1]) = 1. O proprietate esențială a configurației inițiale este că se garantează existent, a a cel puțin unei astfel de perechi.
Scopul lui este să obțină „Scara Perfectă”, adică o configurație în care cantitatea de esență din fiecare eprubetă este
egală cu indicele ei:
Eprubeta 1 = 1, Eprubeta 2 = 2, …, Eprubeta N = N.

Pentru a modifica nivelul substanței, el poate folosi doar fenomenul de Rezonanță între două eprubete vecine. Mai exact, operațiile se aplică pe două eprubete situate la indicii A și B, cu condiția ca |A − B| = 1. Operațiile permise sunt:
adun A B ⇒ V[A] ← V[A] + V[B] (Eprubeta A câștigă o cantitate de esență egală cu valoarea din eprubeta B)scad A B ⇒ V[A] ← V[A] − V[B] (Eprubeta A pierde o cantitate de esență egală cu valoarea din eprubeta B)La aplicarea operațiilor, trebuie respectate următoarele reguli:
1. La fiecare operație, doar eprubeta cu indicele A își modifică valoarea. Eprubeta cu indicele B rămâne neschimbată.
2. Cantitatea de esență din orice eprubetă trebuie să se mențină în intervalul de siguranță [1, 10sup>5] în orice moment (inclusiv intermediar).
3. Numărul total de operații nu poate depăși 106.
Se cunosc C (numărul cerinței, 1 sau 2), N numărul de eprubete, precum și valorile V[i]. Determinați:
C = 1. Dacă există mai multe astfel de secvențe, se va afișa cea cu indicele de început minim.C = 2.ONI 2026, clasa a 7-a
| Problema | Alchimie | Operații I/O |
alchimie.in/alchimie.out
|
|---|---|---|---|
| Limita timp | 0.2 secunde | Limita memorie |
Total: 16 MB
/
Stivă 8 MB
|
| Id soluție | #64826102 | Utilizator | |
| Fișier | alchimie.cpp | Dimensiune | 6.22 KB |
| Data încărcării | 04 Iunie 2026, 00:10 | Scor/rezultat | Eroare de compilare |
alchimie.cpp: In function ‘int main()’: alchimie.cpp:65:22: error: ‘gcd’ is not a member of ‘std’ 65 | if (std::gcd(v[i - 1], v[i]) == 1) curLen += 1; | ^~~ alchimie.cpp:88:18: error: ‘gcd’ is not a member of ‘std’ 88 | if (std::gcd(v[i], v[i + 1]) == 1) { p = i; break; } | ^~~
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Alchimie face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.