Fișierul intrare/ieșire | felinare1.in, felinare1.out | Sursă | Olimpiada locala 2017 clasa a 5-a |
---|---|---|---|
Autor | Alina Danciu | Adăugată de |
|
Timp de execuție pe test | 0.1 sec | Limită de memorie | 2048 KB |
Scorul tău | N/A | Dificultate |
Vezi soluțiile trimise | Statistici
Felinare1 (clasa a 5-a)
Pe aleea rotundă a parcului din Sclipicești s-au montat felinare noi, dar numai pe partea dreaptă. Știi de ce? Îți povestesc eu.
Administratorii parcului s-au gândit că pentru aprinderea iluminării nocturne poate fi folosit Sistemul Automatizat de Control (pe scurt, SAC), cea mai nouă invenție a lui Dorel. Zis și făcut: s-au montat felinarele de pe partea dreaptă a aleii rotunde, s-a montat sistemul de aprindere, au început probele de funcționare dar... Surpriză! Invenția lui Dorel nu funcționează chiar atât de bine, așa cum toată lumea ar fi dorit.
La acționarea butonului de pornire, numai p dintre cele n felinare montate se aprind, la următoarea apăsare de buton se aprind următoarele p felinare, și așa mai departe. După mai multe încercări, când aproape toate felinarele erau aprinse, Dorel are parte de o nouă surpriză: când ultimele felinare de pe alee se aprind, se sting câteva dintre primele felinare aprinse deoarece SAC acționează exact asupra a p felinare consecutive, aprinzându-le sau stingându-le.
Dorel vrea să vadă aprinse toate cele n felinare. Crezi că reușește? Ai putea să-l ajuți un pic...
Cerință
Dacă inițial toate cele n felinare sunt stinse și la o apăsare de buton exact p felinare își schimbă starea (din stins în aprins sau invers), să se determine, dacă există, cel mai mic număr K de apăsări ale butonului de pornire astfel încât cele n felinare să fie aprinse (în același timp).
Date de intrare
De pe prima linie a fișierului felinare1.in se citesc numerele n și p.
Date de ieșire
Fișierul de ieșire felinare1.out conține pe prima linie numărul cerut K sau mesajul FARA SOLUTIE, în cazul în care nu pot fi aprinse (în același timp) toate cele n felinare.
Restricții
- 2 ≤ p < n ≤ 1 000 000 000
Exemplu
felinare1.in | felinare1.out | Explicație |
---|---|---|
8 6 |
4 |
![]() După prima acționare a butonului de pornire se aprind felinarele 1, 2, 3, 4, 5 și 6. La a doua apăsare pe buton, se aprind felinarele 7 și 8 și se sting felinarele 1, 2, 3 și 4. La a treia apăsare pe buton se sting felinarele 5, 6, 7 și 8 și se aprind felinarele 1 și 2. La a patra apăsare pe buton se aprind și felinarele 3, 4, 5, 6, 7 și 8. |
3 2 |
FARA SOLUTIE |
![]() La prima acționare a butonului de pornire se aprind felinarele 1 și 2. La a doua apăsare pe buton se aprinde felinarul 3 și se stinge felinarul 1. La a treia apăsare pe buton se sting felinarele 2 și 3 și se ajunge la starea inițială |