/*
两重循环,如果是连号区间,那么区间长度必然 = 最大值 - 最小值
第二层循环的时候可以更新每个区间的最大值,最小值。中间的元素不需要考虑
*//*
暴力做法:在第二层循环时,每次多创建一个数组存放i~j之间的数,对其排序Arrays.sort(data,i,j+1)
然后再多一层循环判断d[k] + 1== d[k + 1]
*/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;public class Main {static BufferedReader in = new BufferedReader(new InputStreamReader(System.in));static int n;static int N = 10010;static int[] data = new int[N];public static void main(String[] args) throws IOException {n = Integer.parseInt(in.readLine());String[] init = in.readLine().split(" ");for (int i = 1; i <= n; i++) {data[i] = Integer.parseInt(init[i - 1]);}int res = 0;for (int i = 1; i <= n; i++) {int max = Integer.MIN_VALUE;int min = Integer.MAX_VALUE;for (int j = i; j <= n; j++) {max = Math.max(max, data[j]);min = Math.min(min, data[j]);if (max - min == j - i) {res++;}}}System.out.println(res);in.close();}
}