CF1829B 题解

发布时间 2023-05-07 13:54:50作者: Jasoncwx

题目思路

先定义变量 \(t,ans\)

循环从 \(0\)\(n-1\),对于第 \(i\) 个数,如果为 \(0\)\(t=t+1\),否则将 \(t\) 清零。每次循环 \(ans=\max(ans,t)\) 表示最多有多少个连续的 \(0\)

最后输出 \(ans\) 即可。

核心代码

点击查看代码
void solve(){
    int n=read(),a[1005],ans=0,t=0;
    for(int i=0;i<n;i++)a[i]=read();
    for(int i=0;i<n;i++){
        if(!a[i])t++;
        else t=0;
        ans=max(ans,t);//统计最大值
    }
    cout<<ans<<endl;
}