Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2017-01-25 22:49:37.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:gard5.in, gard5.outSursăPreOJI 2017
AutorMarius NicoliAdăugată demihaipopa12Popa Mihai mihaipopa12
Timp execuţie pe test0.05 secLimită de memorie20480 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Gard 5

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 |h[i]-h[i-1]| + |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.

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.

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.

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ă

Exemplu

gard5.ingard5.out
5
1 2 3 4 5
1

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).

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?