간단한 순열 문제

시간 제한1초메모리 제한1024 MB

요약
순열에서 두 끝값이 그 사이의 모든 값보다 큰 쌍 (i, j)의 개수를 구한다.
난이도

어려움10점 중 8점

유형
분할 정복, 세그먼트 트리, 스택, 조합론
정답자
아직 제출이 없습니다

문제

길이 NN의 순열 PP가 주어진다. 길이 NN의 순열이란, 11부터 NN까지의 모든 정수를 한 번씩 사용하여 임의로 배열한 것을 말한다. 이때 다음을 만족하는 (i,j)(i, j) 쌍의 개수를 구하라.

  • 1≤i<j≤N1 \le i < j \le N
  • min⁡(P_i,P_j)>max⁡(0,P_i+1,P_i+2,⋯ ,P_j−1)\min(P\_i, P\_j) > \max(0,P\_{i+1}, P\_{i+2}, \cdots, P\_{j-1})

P_iP\_i는 PP의 ii번째 원소를 말한다.

입력

첫 번째 줄에 순열의 길이를 나타내는 정수 NN이 주어진다.

두 번째 줄에 순열의 원소를 나타내는 NN개의 정수 P_1,P_2,⋯ ,P_NP\_1, P\_2, \cdots, P\_N이 공백으로 구분되어 주어진다.

출력

문제의 답을 출력한다.

제한

  • 1≤N≤200,0001 \le N \le 200{,}000

예제3

  1. 예제 1

    입력
    5
    4 2 3 1 5
    
    예상 출력
    7
    
  2. 예제 2

    입력
    4
    3 2 1 4
    
    예상 출력
    5
    
  3. 예제 3

    입력
    2
    2 1
    
    예상 출력
    1