题目描述
你有一个数组 a1,a2,…,an 。
如果数组 a1,a2,…,an 中的某个子数组 al,al+1,…,ar 恰好包含一次从 1 到 r−l+1 的所有整数,我们就称它为子排列。例如,数组 a=[2,2,1,3,2,3,1] 包含 6 个子排列: [a2…a3] , [a2…a4] , [a3…a3] , [a3…a5] , [a5…a7] , [a7…a7] .
请计算子排列的数量。
输入格式
第一行包含一个整数 n ( 1≤n≤3⋅105 )。( 1≤n≤3⋅105 ).
第二行包含 n 个整数 a1,a2,…,an ( 1≤ai≤n )。
注意:这个数组可以包含相同的整数。
输出格式
一个整数,表示 a 的子排列数量。
输入输出样例 #1
输入 #1
8
2 4 1 3 4 2 1 2
输出 #1
7
输入输出样例 #2
输入 #2
5
1 1 2 1 2
输出 #2
6
注
第一个样例中有 7 个子排列。它们的索引段分别是 [1,4] 、 [3,3] 、 [3,6] 、 [4,7] 、 [6,7] 、 [7,7] 和 [7,8] 。
在第二个样例中,存在 6 个子排列: [1,1] 、 [2,2] 、 [2,3] 、 [3,4] 、 [4,4] 和 [4,5] 。
data:by lkj