Fișierul intrare/ieșire maraton.in, maraton.out Sursă ONI 2010 clasa a 7-a
Autor Cristina Iordaiche Adăugată de avatar alex.cojocaru Cojocaru Alexandru alex.cojocaru
Timp de execuție pe test 1 sec Limită de memorie 16384 KB
Scorul tău N/A Dificultate stea de rating de tip fullstea de rating de tip fullstea de rating de tip emptystea de rating de tip emptystea de rating de tip empty
open book Poți vedea testele pentru această problemă accesând atașamentele .

Maraton (clasa a 7-a)

Pentru desfășurarea probei de maraton a poștașilor, organizatorii au plasat pe traseu n+2 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ă 5 secunde, galbenul se schimbă în verde după 3 secunde, iar verdele în roșu după 2 secunde.

În momentul în care se dă startul și se pornește cronometrul toate cele n 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 n 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 k 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

Fișierul de intrare maraton.in conține pe prima linie numerele naturale n și k despărțite printr-un spațiu. Valoarea n reprezintă numărul de semafoare plasate între cele două linii, cea de start și cea de sosire, iar numărul k reprezintă timpul necesar, exprimat în secunde, pentru parcurgerea distanței dintre oricare două semafoare succesive de pe traseu. Pe următoarea linie se află n 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 -2 culoarea roșie, -1 culoarea galbenă și cu 0 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 s, care reprezintă numărul minim de secunde necesar pentru ca Andrei să treacă de linia de sosire.

Restricții

  • 1 ≤ n ≤ 5000
  • 1 ≤ k ≤ 600
  • Linia de sosire este plasată imediat după ultimul semafor.

Exemplu

maraton.in maraton.out Explicație
3 2
0 0 -1
25
Se dă startul și după 2 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ă 8 secunde, se face verde iar după
alte 2 secunde ajunge în dreptul celui de-al doilea semafor(au trecut 12 secunde de la start). Aici mai
așteaptă 8 secunde, se face verde și poate trece. Parcurge în 2 secunde distanța până în dreptul celui de-al
treilea semafor.Când ajunge în dreptul acestui semafor(după 22 secunde de la start) mai așteaptă o secundă (1),
se face verde și peste 2 secunde trece linia de sosire(22+1+2=25 secunde).

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

Indicii de rezolvare

Arată 4 categorii