记录编号 466406 评测结果 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
题目名称 [洛谷U14472]数据结构 最终得分 100
用户昵称 GravatarShirry 是否通过 通过
代码语言 C++ 运行时间 4.924 s
提交时间 2017-10-28 22:19:09 内存使用 2.16 MiB
显示代码纯文本
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
const int maxn=80800;
long long n,opt,mod,minn,maxx,final,f[maxn];
long long p[maxn],d[maxn];
char op[10];long long a,b,c;
int main(){
	freopen("shuju.in","r",stdin);
	freopen("shuju.out","w",stdout);
    scanf("%lld%lld%lld%lld%lld",&n,&opt,&mod,&minn,&maxx);
    for(register long long i=1;i<=opt;i++){
        scanf("%s%lld%lld",op,&a,&b);
        if(op[0]=='A'){
            scanf("%lld",&c);
            p[a]+=c,p[b+1]-=c;
        }
        if(op[0]=='Q'){
			long long ans=0,tmp=0;
			for(register long long i=1;i<=b;i++){
				tmp+=p[i];
				if(i>=a&&tmp%mod*i%mod<=maxx&&minn<=tmp%mod*i%mod)ans++;
			}
			printf("%lld\n",ans);
		}
    }
    for(register long long i=1;i<=n;i++){
        p[i]+=p[i-1];
        f[i]=f[i-1]+(p[i]%mod*i%mod<=maxx&&minn<=p[i]%mod*i%mod);
    }
    scanf("%lld",&final);
    for(register long long i=1;i<=final;i++){//???
        scanf("%lld%lld",&a,&b);
        printf("%lld\n",f[b]-f[a-1]);
    }
    return 0;
}