#P1788. Max to the Right of Min

    ID: 1719 传统题 文件IO:max 3000ms 1024MiB 尝试: 85 已通过: 8 难度: 9 上传者: 标签>数据结构线段树DIV3启发式暴力

Max to the Right of Min

题目描述

给定一个长度为 nn 的排列 pp —— 一个由 11nn 的整数构成的数组,所有元素互不相同。

pl,rp_{l,r} 表示子数组 —— 由下标 llrr(包含两端)组成的数组。

maxposl,r\mathit{maxpos}_{l,r} 表示 pl,rp_{l,r} 中最大元素的下标。同理,minposl,r\mathit{minpos}_{l,r} 表示 pl,rp_{l,r} 中最小元素的下标。

请计算有多少个子数组 pl,rp_{l,r} 满足 maxposl,r>minposl,r\mathit{maxpos}_{l,r} > \mathit{minpos}_{l,r}

输入格式

第一行包含一个整数 nn1n1061 \le n \le 10^6),表示排列的长度。

第二行包含 nn 个整数 p1,p2,,pnp_1, p_2, \dots, p_n1pin1 \le p_i \le n)。所有 pip_i 互不相同。

输出格式

输出一个整数,表示满足条件的子数组 pl,rp_{l,r} 的个数。

输入输出样例 #1

输入 #1

3
1 2 3

输出 #1

3

输入输出样例 #2

输入 #2

6
5 3 6 1 4 2

输出 #2

4

输入输出样例 #3

输入 #3

10
5 1 6 2 8 3 4 10 9 7

输出 #3

38