Submission

Status:

PPPPPPPPPPPPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: NovemNotes

Problemset: ผลบวก (ยาก)

Language: cpp

Time: 0.084 second

Submitted On: 2025-05-30 21:32:41

#include <bits/stdc++.h>
using namespace std;

const int N = 1e6+2;

int n,q;
int v[N],f[N];

void update(int i,int val){
    for(;i<=n;i+=i&-i){
        f[i]+=val;
    }
}

int qr(int i){
    int sum=0;
    for(;i>0;i-=i&-i){
        sum+=f[i];
    }
    return sum;
}

int main(){
    ios_base::sync_with_stdio(false);cin.tie(NULL);
    cin >> n;
    for(int i=1;i<=n;i++){
        cin >> v[i];
        update(i,v[i]);
    }
    cin >> q;
    while(q--){
        int x;cin >> x;
        while(x--){
            int a,b;cin >> a >> b;
            a++;
            update(a,b-v[a]);
            v[a]=b;
        }
        int l,r;cin >> l >> r;
        l++,r++;
        cout << qr(r)-qr(l-1) << "\n";
    }
    return 0;
}