#S44M3T1. 神庙

神庙

题目描述

小 Y 的朋友小 W 带她去神庙考古。

这座神庙中有 nn 座排成一排的高塔,相邻两座塔的距离为 11,从左往右的第 ii 座塔的高度为 hih_i,并且没有两座塔的高度相同。

小 Y 开始观察这些高塔,她认为第 ii 座塔的宽度是所有高度超过 hih_i 的塔中,与第 ii 座塔距离的最小值,即 min⁡{∣i−j∣:hj>hi}\min\{|i-j|:h_j>h_i\},如果不存在这样的塔,则定义宽度为 00。

现在小 Y 想知道 nn 座塔的宽度总和,但是她不想自己计算,所以请你告诉她答案。

输入格式

从文件 temple.in 中读入数据。

第一行一个整数 nn,表示塔的数量。

第二行 nn 个整数,第 ii 个表示从左往右第 ii 座塔的高度 hih_i。

输出格式

输出到文件 temple.out 中。

输出一行一个整数,表示 nn 座塔的宽度总和。

样例 1 输入

5
5 8 1 6 7

样例 1 输出

6

样例 1 解释

五座塔的宽度分别为 1,0,1,1,31,0,1,1,3。

样例 2

见选手目录下的 temple/temple2.in 与 temple/temple2.ans。

该样例满足子任务 11 的约束条件。

样例 3

见选手目录下的 temple/temple3.in 与 temple/temple3.ans。

该样例满足子任务 22 的约束条件。

样例 4

见选手目录下的 temple/temple4.in 与 temple/temple4.ans。

该样例满足子任务 33 的约束条件。

样例 5

见选手目录下的 temple/temple5.in 与 temple/temple5.ans。

该样例满足子任务 44 的约束条件。

样例 6

见选手目录下的 temple/temple6.in 与 temple/temple6.ans。

该样例满足子任务 55 的约束条件。

数据范围

对于所有测试数据,保证 1≤n≤2×105,1≤hi≤1091\le n\le 2\times 10^5,1\le h_i\le 10^9,且 h1,h2,…,hnh_1,h_2,\dots,h_n 两两不同。

子任务编号 nn 特殊性质 分值
11 n≤5000n\le 5000 无特殊性质 2020
22 n≤2×105n\le 2\times 10^5 特殊性质 A
33 ^ 特殊性质 B
44 特殊性质 C
55 无特殊性质

特殊性质 A:对于所有 1≤i≤n−11\le i\le n-1,满足 hi<hi+1h_i<h_{i+1}。 特殊性质 B:(h1,h2,…,hn)(h_1,h_2,\dots,h_n) 在 (1,2,…,n)(1,2,\dots,n) 的所有排列中等概率随机选择一个。 特殊性质 C:对于所有 1≤i≤n1\le i\le n,满足 hi≤nh_i\le n。

本题开启所有合理的子任务依赖。