ACwing中怎么实现连号区间数

这篇文章给大家介绍ACwing中怎么实现连号区间数,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>

using namespace std;

const int N=10010; 
int INF=1e9;

int n;
int a[N];

int main(){
    cin>>n;
    for(int i=0;i<n;i++) cin>>a[i];
    int res=0;
    //枚举区间左端点
    for(int i=0;i<n;i++){
        int mina=INF;
        int maxa=-INF;
        //枚举区间右端点
        for(int j=i;j<n;j++){
            mina=min(mina,a[j]);
            maxa=max(maxa,a[j]);
            //如果区间的min和max相差为区间长度-1,即为连号区间
            if((maxa-mina)==(j-i)) res++;
        }
    }
    cout<<res<<endl;
    return 0;
}

关于ACwing中怎么实现连号区间数就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。