Mai intai trebuie sa te autentifici.

Cod sursa(job #3198848)

Utilizator PetruApostolApostol Mihnea Petru PetruApostol Data 30 ianuarie 2024 19:12:57
Problema Datorii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <fstream>
using namespace std;

#define MAXN 100000

ifstream cin("datorii.in");
ofstream cout("datorii.out");

int n;
int c[MAXN+1],aib[MAXN+1];

void update(int x, int y){
    while(x<=n){
        aib[x]+=y;
        x+=x&(-x);
    }
}

int qu(int x){
    int rez=0;
    while(x>=1){
        rez+=aib[x];
        x&=(x-1);
    }
    return rez;
}

int main(){

    int q,a,i,b,cer;
    cin>>n>>q;
    for(i=0;i<n;i++){
        cin>>a;
        update(i+1,a);
    }
    for(i=0;i<q;i++){
        cin>>cer>>a>>b;
        if(cer==0)
            update(a, -b);
        else
            cout<<qu(b)-qu(a-1)<<"\n";
    }
    return 0;
}