Description
给定一个序列 [a1,a2,…,an]。要求计算满足条件的 (l,r) 对的数量,其中 1≤l≤r≤n 并且序列 [al,al+1,…,ar] 是双调序列。
第一行输入一个整数 n(1≤n≤300000)。
第二行输入 n 个整数 a1,a2,…,an(1≤ai≤n)。
输出一个整数,即满足 1≤l≤r≤n 且序列 [al,al+1,…,ar] 是双调序列的 (l,r) 对的数量。
5
1 1 2 3 1
11
3
1 1 1
3
Hint
在样例一中,满足条件的 (l,r) 对如下:
- (1,1),对应序列 [1];
- (2,2),对应序列 [1];
- (2,3),对应序列 [1,2];
- (2,4),对应序列 [1,2,3];
- (2,5),对应序列 [1,2,3,1];
- (3,3),对应序列 [2];
- (3,4),对应序列 [2,3];
- (3,5),对应序列 [2,3,1];
- (4,4),对应序列 [3];
- (4,5),对应序列 [3,1];
- (5,5),对应序列 [1]。
| 子任务 |
分值 |
特殊性质 |
| 0 |
同样例 |
| 1 |
27 |
n≤500 |
| 2 |
14 |
n≤5000 |
| 3 |
20 |
所有 ai 互不相等 |
| 4 |
39 |
无 |
对于 100% 的数据,1≤ai≤n≤300000。