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 costul minim al unei configuratii care se poate obtine in modul descris, precum si numărul de configuraţii distincte de cost minim.

Date de intrare

Pe prima linie a fişierului gard5.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 gard5.out se află doua numere: primul reprezintă costul minim posibil al unei configuraţii, iar al doilea reprezintă numărul de configuraţii de cost minim.

Restricţii

  • 1 ≤ N ≤ 100
  • Numărul cerut poate fi memorat într-o variabilă pe 64 de biţi cu semn
  • Dacă are costul minim, şi configuraţia dată se numără
  • Costul minim valorează 50% din punctaj, iar numărul de configuraţii de cost minim restul de 50%

Exemplu

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

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?