[BOJ 8554] Widoczność
View as PDFDany jest ciąg liczb całkowitych x1, x2, ..., xn. Powiemy, że dwa elementy xi i xj (dla 1 ≤ i < j ≤ n) widzą się bezpośrednio nawzajem, jeśli każdy z elementów xi+1, ..., xj-1 jest mniejszy od min(xi, xj). W szczególności każde dwa kolejne elementy w ciągu widzą się bezpośrednio nawzajem. Powiemy, że dwa elementy xi i xj (dla 1 ≤ i < j ≤ n) widzą się pośrednio nawzajem, jeżeli:</p>
- widzą się bezpośrednio nawzajem, lub
- istnieje takie k, i < k < j, że xi i xk widzą się bezpośrednio nawzajem, oraz xk i xj widzą się bezpośrednio nawzajem.
Zadanie polega na obliczeniu dla danego ciągu x1, x2, ..., xn liczby wszystkich takich par (i, j), że 1 ≤ i < j ≤ n oraz elementy xi i xj widzą się pośrednio nawzajem.
입력 형식
W pierwszym wierszu zapisana jest jedna liczba całkowita n (1 ≤ n ≤ 40 000). W kolejnych wierszach zapisane są kolejne elementy ciągu, po jednym w wierszu. Elementy ciągu to liczby całkowite z zakresu od -1 000 000 do 1 000 000.
출력 형식
Program powinien wypisać jeden wiersz, zawierający jedną liczbę całkowitą - liczbę takich par (i, j), że 1 ≤ i < j ≤ n oraz elementy xi i xj widzą się pośrednio nawzajem.
예제 입력
12
2
8
3
5
2
9
7
-1
4
8
4
12
예제 출력
42
Comments