for循环暴力直接A了,这个线段树板子真的
#include <bits/stdc++.h>
using namespace std;
long long n,m,s,l,r,k;
long long a[1000000+10];
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cin>>n>>m;
for(int i=1;i<=n;i++)cin>>a[i];
for(int i=1;i<=m;i++){
cin>>s;
if(s==1){
cin>>l>>r>>k;
for(int j=l;j<=r;j++)a[j]+=k;
}
else if(s==2){
cin>>k;a[1]+=k;
}
else if(s==3){
cin>>k;a[1]-=k;
}
else if(s==4){
long long op=0;
cin>>l>>r;
for(int j=l;j<=r;j++)op+=a[j];
cout<<op<<"\n";
}
else if(s==5)cout<<a[1]<<"\n";
}
return 0;
}