Cod sursa(job #3291235)

Utilizator Andrei1004Andrei Grigore Andrei1004 Data 3 aprilie 2025 19:28:53
Problema Datorii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>

using namespace std;

ifstream fin("datorii.in");
ofstream fout("datorii.out");

int n,m;
const int MAXN = 100000;
long long aib[MAXN + 1],v[MAXN + 1];

long long query(int poz)
{
    long long s;
    s=0;
    for(;poz>0;poz-=poz&-poz)
        s=s+aib[poz];
    return s;
}
void update(int poz, long long val) {
    for (; poz <= n; poz += poz & -poz)
        aib[poz] += val;
}

int main()
{
    fin>>n>>m;
    for(int i = 1; i <= n; i++) 
    {
        fin >> v[i];
        update(i, v[i]);
    }
    for (int i = 0; i < m; i++) 
    {
        int op, x, y;
        fin >> op >> x >> y;
        if (op == 0) 
            update(x, -y);
        else  
            fout<<query(y) - query(x - 1)<<'\n';
    }
    return 0;
}