Pentru desfăşurarea probei de maraton a poştaşilor, organizatorii au plasat pe traseu semafoare, la distanţe egale unul de celălalt. Primul semafor e plasat pe linia de start, iar ultimul semafor este plasat pe linia de sosire şi ambele vor avea aprinsă culoarea verde din momentul în care se dă startul şi până la sfârşitul cursei. Pentru fiecare semafor întâlnit pe traseu, cele trei culori ale sale: roşu, galben şi verde se aprind succesiv astfel: întotdeuna după roşu se face galben, după galben se face verde, iar după verde urmează roşu, şi aşa mai departe. Culoarea roşie a fiecărui semafor se schimbă în galben după secunde, galbenul se schimbă în verde după secunde, iar verdele în roşu după secunde.
În momentul în care se dă startul şi se porneşte cronometrul toate cele semafoare de pe traseu se aprind. La unele va fi culoarea roşie, la altele galben, iar la altele verde, nefiind sincronizate la acest moment.
Fiecare poştaş înscris la maraton trebuie să parcurgă traseul de la linia de start până la linia de sosire şi să treacă pe rând de cele semafoare, doar pe culoarea verde a fiecăruia dintre ele. Dacă un concurent ajunge în dreptul semaforului şi acesta este verde va trece obligatoriu mai departe. Dacă ajunge în dreptul unui semafor chiar în secunda în care se schimbă culoarea acestuia, atunci concurentul poate trece mai departe doar dacă această schimbare s-a facut de la galben la verde, nu şi de la verde la roşu sau de la roşu la galben.
Cerinţă
Ştiind că poştaşul Andrei parcurge distanţa dintre două semafoare succesive în secunde, să se scrie un program care să determine numărul minim de secunde necesar pentru ca el să treacă linia de sosire.
Date de intrare
Din fişierul de intrare maraton.in
:
- De pe prima linie se citesc două numere naturale şi despărţite printr-un spaţiu. Valoarea reprezintă numărul de semafoare plasate între cele două linii, cea de start şi cea de sosire, iar numărul reprezintă timpul necesar, exprimat în secunde, pentru parcurgerea distanţei dintre oricare două semafoare succesive de pe traseu.
- De pe următoarea linie se citesc valori întregi despărţite prin câte un spaţiu, ce reprezintă culoarea pe care o are fiecare semafor în momentul startului. Vom codifica cu culoarea roşie, culoarea galbenă şi cu culoarea verde a semaforului.
Date de ieşire
Fişierul de ieşire maraton.out
va conţine o singură linie pe care se va scrie numărul natural , care reprezintă numărul minim de secunde necesar pentru ca Andrei să treacă de linia de sosire.
Restricţii şi precizări
- linia de sosire este plasată imediat după ultimul semafor.
Exemplu
maraton.in
3 2
0 0 -1
maraton.out
25
Explicaţie
Se dă startul şi după secunde poştaşul ajunge în dreptul primului semafor. La acesta tocmai se schimbă culoarea din verde în roşu şi ca urmare poştaşul nu poate trece. Aşteaptă secunde, se face verde iar după alte secunde ajunge în dreptul celui de-al doilea semafor (au trecut secunde de la start). Aici mai aşteaptă secunde, se face verde şi poate trece. Parcurge în secunde distanţa până în dreptul celui de-al treilea semafor. Când ajunge în dreptul acestui semafor (după secunde de la start) mai aşteaptă o secundă , se face verde şi peste secunde trece linia de sosire ( secunde).