Time limit: 1s
Memory limit: 256MB
Input:
Output:
Cerință
Se dă un număr întreg și o permutare a valorilor de la la . Să se calculeze numărul de secvențe (contigue) de tip deal. O subsecvență este considerată deal dacă elementele acesteia respectă una dintre următoarele proprietăți:
- Există o poziție () astfel încât subsecvența este strict crescătoare și subsecvența este strict descrescătoare.
- Este fie strict crescătoare, fie strict descrescătoare
Date de intrare
Prima linie conține un număr întreg , reprezentând dimensiunea permutării. A doua linie conține numere întregi distincte, reprezentând permutarea valorilor de la la .
Date de ieșire
Se va afișa un singur număr întreg, reprezentând numărul total de subsecvențe deal din permutare.
Restricții și precizări
- ;
- Permutarea este o aranjare a valorilor de la la , fiecare valoare apare o singură dată;
- Pentru teste în valoare de de puncte, ;
- Pentru alte teste în valoare de de puncte, ;
- Pentru alte teste în valoare de de puncte, nu există restricții suplimentare.
Exemplu
stdin
8
7 4 1 2 0 6 5 3
stdout
20
Explicație
Printre subsecvențele deal se numără: . În total sunt de subsecvențe deal.
Un contraexemplu de subsecvență deal este .