比赛 2025暑期集训第2场 评测结果 WWWTTTTTTT
题目名称 序列操作 最终得分 0
用户昵称 Ruyi 运行时间 13.989 s
代码语言 C++ 内存使用 3.80 MiB
提交时间 2025-06-29 17:22:56
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int n,m,a[100001],num,l,r;
int main(){
    freopen("sequence.in","r",stdin);
    freopen("sequence.out","w",stdout);
    cin>>n>>m;
    for(int i=0;i<n;i++) cin>>a[i];
    while(m--){
        cin>>num>>l>>r;
        if(num==0) for(int i=l;i<=r;i++) a[i]=0;
        else if(num==1) for(int i=l;i<=r;i++) a[i]=1;
        else if(num==2){
            for(int i=l;i<=r;i++){
                if(a[i]==0) a[i]=1;
                else a[i]=0;
            }
        }else if(num==3){
            int cnt=0;
            for(int i=l;i<=r;i++)
            if(a[i]==1) cnt++;
            cout<<cnt<<endl;
        }else{
            int cnt=1,maxx=0;
            for(int i=l;i<r;i++){
                if(a[i]==1){
                    if(a[i]==a[i+1]) cnt++;
                    else{
                        maxx=max(maxx,cnt);
                        cnt=1;
                    }
                }
            }
            maxx=max(maxx,cnt);
            cout<<maxx<<endl;
        }
    }
    return 0;
}