RE了,救
查看原帖
RE了,救
1050823
hbr100329楼主2023/9/2 16:49
#include<bits/stdc++.h>
using namespace std;
char d;
long long ans=0,n,q,k=1,s[100001],a,b,c;
void jia(long long x,long long y,long long z){
	for(long long j=x;j<=y;j++){
		s[j]+=z;
	}
}
void jian(long long x,long long y){
	for(long long j=x;j<=y;j++){
		s[j]=-s[j];
	}
}
void jiang(long long x,long long y,long long z){
	if(z>0){
		for(long long j=x;j<=y;j++){
			k*=s[j];
			k=k%19940417;
			//cout<<j<<" "<<s[j]<<" "<<k<<endl;
			jiang(j+1,y,z-1);
			k/=s[j];
		}
	}
	else{
		ans+=k;
	//	cout<<"   "<<ans<<endl;
	}
	return;
}
int main(){
	//freopen("Q.in","r",stdin);
	cin>>n>>q;
	for(long long i=1;i<=n;i++){
		cin>>s[i];
	}
	for(long long i=1;i<=q;i++){
		cin>>d;
		if(d=='I'){
			cin>>a>>b>>c;
			jia(a,b,c);
			/*for(long long j=1;j<=n;j++){
				cout<<" "<<s[j]<<endl;
			}*/
		}
		else if(d=='R'){
			cin>>a>>b;
			jian(a,b);
			/*for(long long j=1;j<=n;j++){
				cout<<" "<<s[j]<<endl;
			}*/
		}
		else if(d=='Q'){
			ans=0;
			k=1;
			cin>>a>>b>>c;
			jiang(a,b,c);
			cout<<ans<<endl;
		}
	} 
	//fcose(stdin);
	
	return 0;
} 
2023/9/2 16:49
加载中...