Cod sursa(job #2465697)

Utilizator mirceatlxhaha haha mirceatlx Data 30 septembrie 2019 18:25:23
Problema Datorii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <bits/stdc++.h>
using namespace std;
ifstream in("datorii.in");
ofstream out("datorii.out");
int n,a[15002];
void update(int i,int nr)
{
    while(i<=n)
    {
        a[i]+=nr;
        i+=(i&(-i));
    }
}
int q(int i)
{
    int s=0;
    while(i)
    {
        s+=a[i];
        i-=(i&(-i));
    }
    return s;
}
int main()
{
    int m,i,j,nr;
    in>>n>>m;
    for(i=1;i<=n;i++)
    {
        in>>nr;
        update(i,nr);
    }
    while(m--)
    {
        in>>nr>>i>>j;
        if(nr==0)
            update(i,-j);
        else
            out<<q(j)-q(i-1)<<"\n";
    }
    return 0;
}