Cerința
Fie un șir de numere oarecare. Un subșir de numere se numește deal dacă valorile din care este alcătuit sunt în ordine crescătoare. După fiecare deal urmează o prăpastie – o valoare mai mică decât precedenta – de unde poate începe un nou deal.
Fiind data o secvență oarecare de numere ce se termină cu valoarea zero, să se afișeze valorile din care este alcătuit fiecare deal în ordine inversă apariției. Dupa ce s-a terminat primul deal în ordinea dorită, se va afișa al doilea, apoi al treilea, etc.
Date de intrare
Se citesc mai multe valori, până la intâlnirea valorii 0
.
Date de ieșire
Se vor afișa dealurie în ordine inversă celei de introducere, separate prin exact un spațiu.
Restricții și precizări
- Un deal nu are mai mult de
10.000
de elemente. - Valorile din care sunt formate dealurile sunt numere naturale nenune mai mici decât
2
63
.
Exemplu:
Intrare
1 2 5 3 7 2 4 8 123456789101112 4 0
Ieșire
5 2 1 7 3 123456789101112 8 4 2 4
Explicație
Primul deal este format din valorile 1, 2, 5
; ele sunt afișate primele, în ordine inversă (5 2 1)
. După primul deal urmează o prăpastie pentru că 3
este mai mic decât 5
. Urmează un al doilea deal format din valorile 3, 7
ce vor fi afișate în ordine inversă: 7 3
. Al treilea deal începe cu o valoarea mai mică decât 7
(2
) și este format din valorile 2, 4, 8, 123456789101112
. Ele vor fi afișate în ordine inversă: 123456789101112 8 4 2
. Urmează un al patrulea deal care este format doar din valoarea 4
(și va fi afișat la sfârșit). In final, 0
indica faptul că s-a terminat introducerea valorilor.