B. Beautiful Numbers(思維,排序好題)

 

任取 m 【1,n】,若區間長度爲 m 時,包含 1~m 的所有元素,則輸出 1 ,否則輸出 0 


    int n,m,t;
    int i,j,k;
    Pair p[N];
    int l[N],r[N];
int main()
{
    //IOS;
    rush(){
        sd(n);
        for(i=1;i<=n;i++){
            cin>>p[i].first;
            p[i].second=i;
        }
        sort(p+1,p+1+n);
        l[1]=p[1].second;
        r[1]=p[1].second;
        for(int i=2;i<=n;i++){
            l[i]=min(p[i].second,l[i-1]);
            r[i]=max(p[i].second,r[i-1]);
        }
        for(i=1;i<=n;i++){
            if(r[i]-l[i]+1==i) cout<<1;
            else cout<<0;
        }
        cout<<endl;
    }
    return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章