Cod sursa(job #2716262)

Utilizator mihnea.anghelMihnea Anghel mihnea.anghel Data 4 martie 2021 21:51:02
Problema Arbori indexati binar Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>
#define f in
#define g out

using namespace std;
ifstream in ( "datorii.in" );
ofstream out( "datorii.out" );
int n, m, i, j, x, y, op, v[20000];

int lsb ( int x ){
    return x&-x;
}

void update ( int i, int x ){
    for ( ; i <= n; i += lsb(i) )
        v[i] += x;
}

int query ( int i ){
    int sol = 0;
    for ( ; i >= 1; i -= lsb(i) )
        sol += v[i];
    return sol;
}


int main() {
    f>>n>>m;
    for ( i=1; i <= n; i++ ){
        f>>x;
        update ( i, x );
    }
    for ( ; m--; ){
        f>>op>>x>>y;
        if ( !op )
            update ( x, -y );
        else g<<query(y)-query(x-1)<<"\n";
    }
    return 0;
}