== include(page="template/taskheader" task_id="gard5") ==
După ce şi-a cumpărat noua casă Ştefan a hotărât să refacă gardul din faţa sa. Acesta este format din N scânduri de înălţimi distincte, aşezate una lângă alta. De fapt valorile înălţimilor scândurilor formează o permutare a numerelor de la 1 la N. Unele scânduri sunt speciale, şi pe ele nu le poate muta din loc. Acestea sunt cele din care poate vedea extremitatea stângă (de la începutul gardului până la o astfel de scândură nu se află alta mai înaltă). Oricare din celelalte scânduri poate fi mutată (interschimbată cu alta) dar cele două trebuie să rămână între aceleaşi scânduri speciale ca şi înainte de mutare. Odată schimbate între ele astfel de scânduri, se obţine o configuraţie nouă de gard. Costul unei configuraţii se calculează însumând costul de la fiecare scândură din acea configuraţie. Costul unei scânduri se calculează astfel: dacă scândura este specială, costul său este 0. Dacă scândura de pe poziţia i nu este specială, costul său este modul(h[i]-h[i-1]) + modul(h[i]-h[i+1]), unde h[i] = înălţimea scândurei de pe poziţia i. Considerăm că pe poziţia 0 este o scândură fictivă cu înălţimea 0 iar pe poziţia n+1 este o scândură fictivă cu înălţimea n+1 (ambele considerate speciale).
Determinaţi numărul de configuraţii distincte de cost minim ce se pot obţine.
Poveste şi cerinţă...
h2. Date de intrare
Pe prima linie a fişierului gard.in se găseşte un număr natural N, reprezentând lungimea gardului. Pe linia a 2-a se găsesc înălţimile celor N scânduri, în ordine de la stânga la dreapta.
Fişierul de intrare $gard5.in$ ...
h2. Date de ieşire
Pe prima linie a fişierului gard.out se află un număr ce reprezintă numărul de configuraţii de cost minim.
În fişierul de ieşire $gard5.out$ ...
h2. Restricţii
* $1 ≤ N ≤ 100$
* Numărul cerut poate fi memorat într-o variabilă de tip long long
* Dacă are costul minim, şi configuraţia dată se numără
* $... ≤ ... ≤ ...$
h2. Exemplu
table(example). |_. gard5.in |_. gard5.out |
| 5
1 2 3 4 5
| 1
|
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
|
h3. Explicaţie
Cele două configuraţii de cost minim din al doilea exemplu sunt 1,4,2,3 şi 1,4,3,2 (scândurile 1 şi 2 sunt speciale).
...
== include(page="template/taskfooter" task_id="gard5") ==
== include(page="template/taskfooter" task_id="gard5") ==