下边是我的代码
#include
#include
using namespace std;
int main(){
int n,m,ii=0;
int a[100010],sum[100010];
memset(sum,0,sizeof(sum));
//输入n,m,n表示待处理数据个数,m表示处理次数,都小于100000
cin >> n >> m;
for(int i=1;i<=n;i++){
cin >> a[i];
}
for(int i=1;i<=m;i++){
int b;
cin >> b;
//第一步操作
if(b==1){
for(int j=1;j<=n;j++){
a[j] = -a[j];
}
}
//第二步操作
else if(b==2){
int c;
cin >> c;
for(int j=1;j<=n;j++){
a[j] += c;
}
}
//第三步操作
else {
int d,e;
cin >> d >> e;
int f;
if(d>e){
f = d;
d = e;
e = f;
}
for(int j=d;j<=e;j++){
sum[ii] += a[j];
}
ii += 1;
}
}
//在第三步操作后有一个记号,最后一起输出每出现一次第三步操作的结果
for(int i=0;i<ii;i++){
cout << sum[i] << endl;
}
return 0;
}