#L4321. 「ROIR 2024 Day1」双调序列

「ROIR 2024 Day1」双调序列

题目描述

译自 ROI Regional 2024 Day1 T2. Битоническая последовательность

如果序列 [b1,b2,,bk][b_1, b_2, \ldots, b_k] 满足对某个 1ik1 \le i \le kb1<b2<<bi>>bkb_1 < b_2 < \ldots < b_i > \ldots > b_k,则称该序列为双调序列

例如,序列 [1][1][1,2,3,2][1, 2, 3, 2][1,4,10][1, 4, 10][3,2][3, 2] 是双调序列,而序列 [1,1][1, 1][2,1,3][2, 1, 3] 不是双调序列。

给定一个序列 [a1,a2,,an][a_1, a_2, \ldots, a_n]。需要计算满足 1lrn1 \le l \le r \le n 且子序列 [al,al+1,,ar][a_l, a_{l+1}, \ldots, a_r] 是双调序列的 (l,r)(l, r) 对的数量。

输入格式

第一行输入包含一个整数 nn (1n3105)(1 \leq n \leq 3\cdot 10^5)

第二行输入包含 nn 个整数:a1,a2,,ana_1, a_2, \ldots, a_n (1ain)(1 \leq a_i \leq n)

输出格式

输出一个整数,表示满足条件的 (l,r)(l, r) 对的数量。

样例

样例 1

输入

5
1 1 2 3 1

输出

11

解释:满足条件的 (l,r)(l, r) 对有:

(1,1)(1, 1),序列 [1][1]
(2,2)(2, 2),序列 [1][1]
(2,3)(2, 3),序列 [1,2][1, 2]
(2,4)(2, 4),序列 [1,2,3][1, 2, 3]
(2,5)(2, 5),序列 [1,2,3,1][1, 2, 3, 1]
(3,3)(3, 3),序列 [2][2]
(3,4)(3, 4),序列 [2,3][2, 3]
(3,5)(3, 5),序列 [2,3,1][2, 3, 1]
(4,4)(4, 4),序列 [3][3]
(4,5)(4, 5),序列 [3,1][3, 1]
(5,5)(5, 5),序列 [1][1]

样例 2

输入

3
1 1 1

输出

3

数据范围与提示

详细子任务附加限制及分值如下表所示。

子任务 分值 附加限制 子任务依赖
1 2727 n500n \le 500
2 1414 n5000n \le 5000 1
3 2020 所有 aia_i 都不同
4 3939 无附加限制 1~3