本地和洛谷IDE都没问题,提交全部RE......
查看原帖
本地和洛谷IDE都没问题,提交全部RE......
259944
__凉皮__楼主2022/11/4 16:27

RT

#include<bits/stdc++.h>
using namespace std;
#define N 80100
int sum[N],dif[N];
signed main(){
    //freopen(".in","r",stdin);
    //freopen("problem.out","w",stdout);
    int n,q,mod,minn,maxx;
    scanf("%d%d%d%d%d",&n,&q,&mod,&minn,&maxx);
    while(q--){
        char c;
        int l,r;
        getchar();
        scanf("%c%d%d",&c,&l,&r);
        //cout<<c<<" "<<l<<" "<<r<<" ";
        if(c=='A'){
            int x;
            scanf("%d",&x);
            //cout<<x<<endl;
            dif[l]+=x;
            dif[r+1]-=x;
        }
        else{
            int now=0,ans=0;
            for(int i=1;i<l;i++)now+=dif[i];
            for(int i=l;i<=r;i++){
                now+=dif[i];
                int tmp=now*i%mod;
                if(tmp>=minn&&tmp<=maxx)ans++;
            }
            printf("%d\n",ans);
        }
    }
    for(int i=1;i<=n;i++){
        dif[i]+=dif[i-1];
        int tmp=dif[i]*i%mod;
        if(tmp>=minn&&tmp<=maxx)sum[i]++;
        sum[i]+=sum[i-1];
    }
    scanf("%d",&q);
    while(q--){
        int l,r;
        scanf("%d%d",&l,&r);
        //cout<<l<<" "<<r<<endl;
        printf("%d\n",sum[r]-sum[l-1]);
    }
    return 0;
}
2022/11/4 16:27
加载中...