This commit is contained in:
Zengtudor 2025-08-18 21:02:52 +08:00
parent 34c1b54467
commit 244f30692c

View File

@ -4,7 +4,7 @@
using ll = int64_t; using ll = int64_t;
ll n; ll n,q;
std::vector<ll> t; std::vector<ll> t;
std::vector<ll> v; std::vector<ll> v;
std::vector<ll> lazy; std::vector<ll> lazy;
@ -20,7 +20,6 @@ ll create(ll cur,ll l,ll r){
return t[cur]; return t[cur];
} }
ll rangeadd(ll cur, ll l, ll r, ll ql, ll qr, ll val) { ll rangeadd(ll cur, ll l, ll r, ll ql, ll qr, ll val) {
if (lazy[cur] != 0) { if (lazy[cur] != 0) {
t[cur] += lazy[cur] * (r - l + 1); t[cur] += lazy[cur] * (r - l + 1);
@ -61,7 +60,7 @@ ll rangequery(ll cur, ll l, ll r, ll ql, ll qr) {
} }
int main(){ int main(){
std::cin>>n; std::cin>>n>>q;
t.resize((n+1)*4); t.resize((n+1)*4);
v.resize(n+1); v.resize(n+1);
lazy.resize((n+1)*4); lazy.resize((n+1)*4);
@ -69,18 +68,17 @@ int main(){
std::cin>>v[i]; std::cin>>v[i];
} }
create(1, 1, n); create(1, 1, n);
ll q;
std::cin>>q;
while(q--){ while(q--){
ll l, r, val; ll op;
std::cin>>l>>r>>val; std::cin>>op;
rangeadd(1, 1, n, l, r, val); if(op==1){
std::cout << t[1] << "\n"; ll x,y,z;
} std::cin>>x>>y>>z;
std::cin>>q; rangeadd(1, 1, n, x, y, z);
while(q--){ }else{
ll l, r; ll x,y;
std::cin>>l>>r; std::cin>>x>>y;
std::cout << rangequery(1, 1, n, l, r) << "\n"; std::cout<<rangequery(1, 1, n, x, y)<<'\n';
}
} }
} }