Cod sursa(job #3284964)

Utilizator TimurealTimu Ionut Timureal Data 12 martie 2025 13:24:49
Problema Datorii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <bits/stdc++.h>
#define cin fin
#define cout fout
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
int aib[15005];
int n , q;
void update(int val , int poz){
    for(int i=poz; i<=n ; i+=(i&(-i)) )
    {
        aib[i]+=val;
    }
}
int sum(int poz){
    int s=0;
    for(int i=poz ; i>0 ; i-=(i&(-i))){
        s+=aib[i];
    }
    return s;
}

int main()
{
    cin>>n>>q;
    for(int i=1 ; i<=n; i++)
    {
        int aux;
        cin>>aux;
        update(aux , i);
    }
    while(q--){
        int op ,x , y;
        cin>>op>>x>>y;
        if(!op){
            update(-y ,x);
        }
        else{
            cout<<sum(y)-sum(x-1)<<"\n";
        }
    }
    return 0;
}