Fişierul intrare/ieşire:felinare1.in, felinare1.outSursăOlimpiada locala 2017 clasa a 5-a
AutorAlina DanciuAdăugată decalingeorgescuCalin Stefan Georgescu calingeorgescu
Timp execuţie pe test0.1 secLimită de memorie2048 kbytes
Scorul tăuN/ADificultatenormalnormalnormalnormalnormal

Vezi solutiile trimise

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.infelinare1.outExplicaţ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ă
Trebuie sa te autentifici pentru a trimite solutii. Click aici