遍历区间左端点,再遍历区间右端点,如果是连号区间,区间的下标之差==最大值和最小值之差
#include<bits/stdc++.h>
using namespace std;
const int N=10050;
int main()
{
int n,a[N],num;
cin>>n;
for(int i=0;i<n;i++)
cin>>a[i];
for(int i=0;i<n;i++)
{
int maxx=0,minn=10000;
for(int j=i;j<n;j++)
{
maxx=max(a[j],maxx);
minn=min(a[j],minn);
if(maxx-minn==j-i)
num++;
}
}
cout<<num;
} ```