Cod sursa(job #2426351)

Utilizator Anakin1001George Giorgiu Gica Anakin1001 Data 27 mai 2019 15:32:30
Problema Datorii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>

using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
int i, aib[15001], n, m, op, number, a, b;
void update(int x, int value){
    while(x <= n){
        aib[x] = aib[x] + value;
        x = x + (x & (- x));
    }
}
int quary(int x){
    int s = 0;
    while(x >= 1){
        s = aib[x] + s;
        x = x - (x & (- x));
    }
    return s;
}
int main()
{   f >> n >> m;
    for(i = 1; i <= n; i++){
        f >> number;
        update(i, number);
    }
    for(i = 1; i <= m; i++){
        f >> op >> a >> b;
        if(op == 0)
            update(a, - b);
        else
            g << quary(b) - quary(a - 1) << '\n';
    }
    return 0;
}