题解:B4057 [语言月赛 202411] Rise

· · 题解

考察循环与数组的简单综合。

使用一个数组记录 h_i,按照题意模拟即可,其中 op 可以用 std::string 读入,核心代码如下:

int n,m,h[1005];
int main(){
    cin>>n>>m;
    for(int i=1;i<=m;i++){
        string op;
        int l,r,k;
        cin>>op;
        if(op=="water"){
            cin>>l>>r;
            for(int j=l;j<=r;j++)h[j]++;
        }else {
            cin>>l>>r>>k;
            int c=0;
            for(int j=l;j<=r;j++)if(h[j]>=k)h[j]=0,c++;
            cout<<c<<'\n';
        }
    }
    return 0;
}