#B1419. 连续子区间的数量

连续子区间的数量

【题目描述】

给定一个长度为 nn 的序列,其中第 ii 个元素记为 aia_i。

如果一个子区间中的所有元素能够不重不漏地组成一串相邻的整数,则称这个子区间为连续区间。

元素在原序列中的顺序可以不同,只要这些数本身能组成连续的一段即可。

例如,序列片段 [3,1,2] 中的元素刚好是 1,2,31,2,3,所以它是连续区间;

[5,4] 中的元素刚好是 4,54,5,也是连续区间;

[1,3] 中间缺少 22,不是连续区间;

[2,2] 出现了重复元素,也不是连续区间。

请统计给定序列中有多少个子区间是连续区间。


【输入描述】

第一行输入一个整数 nn,表示序列长度。

第二行输入 nn 个正整数 a1,a2,…,ana_1,a_2,\ldots,a_n。

保证:

  • 1≤n≤30001\le n\le 3000;
  • 1≤ai≤1071\le a_i\le 10^7。

【输出描述】

输出一个整数,表示连续区间的个数。


【样例 1】

【样例 1 输入】

5
3 1 2 4 6

【样例 1 输出】

8

【样例 1 解释】

长度为 11 的 55 个子区间都满足条件;

长度大于 11 且满足条件的子区间为 [1,2]、[3,1,2]、[3,1,2,4],因此答案为 88。


【样例 2】

【样例 2 输入】

8
2 3 4 2 5 7 6 8

【样例 2 输出】

19

【数据规模与约定】

测试点编号 分数 特殊性质
1 ~ 2 20 1≤n≤1001\le n\le 100,1≤ai≤1001\le a_i\le 100
3 ~ 8 30 1≤n≤30001\le n\le 3000,1≤ai≤30001\le a_i\le 3000
9 ~ 10 50 1≤n≤30001\le n\le 3000,1≤ai≤1071\le a_i\le 10^7