Fișierul intrare/ieșire felinare1.in, felinare1.out Sursă Olimpiada locala 2017 clasa a 5-a
Autor Alina Danciu Adăugată de avatar calingeorgescu Calin Stefan Georgescu calingeorgescu
Timp de execuție pe test 0.1 sec Limită de memorie 2048 KB
Scorul tău N/A Dificultate stea de rating de tip fullstea de rating de tip fullstea de rating de tip fullstea de rating de tip emptystea de rating de tip empty
open book Poți vedea testele pentru această problemă accesând atașamentele .

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ă

Trebuie să te autentifici pentru a trimite soluții. Click aici

Indicii de rezolvare

Arată 4 categorii