== include(page="template/taskheader" task_id="felinare1") ==
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.
!>problema/felinare1?felinare1-1.png!
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...
h3. Cerinta
h2. 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).
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).
h2. Date de intrare
Fișierul de intrare $felinare1.in$ ...
De pe prima linie a fișierului $felinare1.in$ se citesc numerele *n* și *p*.
h2. Date de ieșire
În fișierul de ieșire $felinare1.out$ ...
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.
h2. Restricții
* $... ≤ ... ≤ ...$
* 2 ≤ *p* < *n* ≤ 1 000 000 000
h2. Exemplu
table(example).
|_. felinare1.in |_. felinare1.out |
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
|
h3. Explicație
...
|_. felinare1.in |_. felinare1.out |_. Explicație |
| 8 6
| 4
| !<problema/felinare1?felinare1-2.png!
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
|!<problema/felinare1?felinare1-3.png!
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ă
|
== include(page="template/taskfooter" task_id="felinare1") ==