Cod sursa(job #1714275)

Utilizator tqmiSzasz Tamas tqmi Data 7 iunie 2016 21:48:51
Problema Datorii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<fstream>
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
using namespace std;
int N,M,i,a,b,aib[15005],q;
int Query(int poz)
{
    int sum=0;
    for(int i=poz;i;i-=(i&(-i)))
    {
        sum+=aib[i];
    }
    return sum;
}
void up(int poz, int val)
{
        for(int i=poz;i<=N;i+=(i&(-i)))
        {
            aib[i]+=val;
        }
}
int main()
{
    fin>>N>>M;
    for(i=1;i<=N;i++)
    {
        fin>>a;
        up(i,a);
    }
    for(i=1;i<=M;i++)
    {
        fin>>q>>a>>b;
        if(q)
        {
            fout<<Query(b)-Query(a-1)<<"\n";
        }
        else
        {
            up(a,-b);
        }
    }
    return 0;
}