比赛 2025暑期集训第2场 评测结果 WWWTTTTTTT
题目名称 序列操作 最终得分 0
用户昵称 pcx 运行时间 13.748 s
代码语言 C++ 内存使用 3.93 MiB
提交时间 2025-06-29 16:38:11
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int n,m,a[N],b,p,q;
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];
    }
    for(int i=0;i<m;i++){
        cin>>b>>p>>q;
        if(b==0){
            for(int j=p;j<=q;j++){
                a[j]=0;
            }
        }else if(b==1){
            for(int j=p;j<=q;j++){
                a[j]=1;
            }
        }else if(b==2){
            for(int j=p;j<=q;j++){
                a[j]=1-a[j];
            }
        }else if(b==3){
            int ans=0;
            for(int j=p;j<=q;j++){
                if(a[j]==1){
                    ans++;
                }
            }
            cout<<ans<<endl;
        }else{
            int ans=0,ans1=0;
            for(int j=p;j<=q;j++){
                if(a[j]==1){
                    ans1++;
                }else{
                    if(ans<ans1){
                        ans=ans1;
                        ans1=0;
                    }
                }
            }
            if(ans<ans1){
                ans=ans1;
                ans1=0;
            }
            cout<<ans<<endl;
        }
    }
    return 0;
}