#S30003. 区间和的MAX与MIN

区间和的MAX与MIN

问题描述

给定长度为 NN 的数列 A=(A1,A2,,AN)A = (A_1, A_2, \dots, A_N),以及整数 X,YX, Y
请计算满足以下所有条件的整数对 (L,R)(L, R) 的个数:

  • 1LRN1 \le L \le R \le N
  • 子数组 AL,AL+1,,ARA_L, A_{L+1}, \dots, A_R 的最大值恰好为 XX,最小值恰好为 YY

输入格式

第一行输入三个整数 N,X,YN, X, Y

第二行输入 NN 个整数 A1,A2,,ANA_1, A_2, \dots, A_N

输出格式

输出一个整数,表示满足条件的 (L,R)(L, R) 的数量。

样例输入 1

4 3 1
1 2 3 1

样例输出 1

4

样例输入 2

5 2 1
1 3 2 4 1

样例输出 2

0

样例输入 3

5 1 1
1 1 1 1 1

样例输出 3

15

样例输入 4

10 8 1
2 7 1 8 2 8 1 8 2 8

样例输出 4

36

说明

  • 样例 1 中,满足条件的 (L,R)(L, R)(1,3),(1,4),(2,4),(3,4)(1,3), (1,4), (2,4), (3,4),共 44 个。
  • 样例 2 中不存在满足条件的子数组。
  • 注意 X=YX = Y 的情况也是可能的(如样例 3),此时最大值和最小值都为同一个值。

评测数据规模

  • 1N2×1051 \le N \le 2 \times 10^5
  • 1Ai2×1051 \le A_i \le 2 \times 10^5
  • 1YX2×1051 \le Y \le X \le 2 \times 10^5
  • 所有输入均为整数。