社区讨论
RE的很迷,求助大佬
P3948数据结构参与者 3已保存回复 3
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @mi7co125
- 此快照首次捕获于
- 2025/11/20 19:30 4 个月前
- 此快照最后确认于
- 2025/11/20 19:30 4 个月前
在本地跑三个样例全对,洛谷在线ide跑出来结果和本地不一样。提交全re,求助大佬找错
CPP#include<iostream>
#include<cstdio>
#include<cstring>
#define ll long long
#define MAXN 80000+10
using namespace std;
ll read(){
ll out=0,f=1;
char c=getchar();
while(c<48||c>57){
if(c==45) f=-1;
c=getchar();
}
while(c<=57&&c>=48){
out=(out<<1)+(out<<3)+c-48;
c=getchar();
}
return out*f;
}
void write(ll x){
if(x<0) x=-x;
if(x>9) write(x/10);
putchar(x%10+48);
}
ll a[MAXN];
ll n,mod,min1,max1;
ll sum[MAXN];
int main(){
register ll opt;
n=read(),opt=read()+1,mod=read(),min1=read(),max1=read();
register ll l,r,x;
register char c;
while(--opt){
c=getchar();
l=read(),r=read();
if(c=='A'){
x=read();
a[l]+=x,a[r+1]-=x;
}
else{
ll ans=0,temp,now=0;
for(int i=1;i<=r;++i){
now+=a[i];
temp=((ll)now*i)%mod;
if(i>=l&&min1<=temp&&temp<=max1) ++ans;
}
write(ans);
putchar(10);
}
}
for(int i=1;i<=n;++i){
a[i]+=a[i-1];
ll temp=((ll)a[i]*i)%mod;
sum[i]=(min1<=temp&&temp<=max1)?1:0;
sum[i]+=sum[i-1];
}
opt=read()+1;
while(--opt){
l=read();
r=read();
write(sum[r]-sum[l-1]);
putchar(10);
}
return 0;
}
回复
共 3 条回复,欢迎继续交流。
正在加载回复...