Cod sursa(job #1797826)

Utilizator Rocamadour1497Alexandru Martiniuc Rocamadour1497 Data 4 noiembrie 2016 19:27:12
Problema Datorii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <iostream>
#include <fstream>>
using namespace std;
int aib[15001],n,m;
ifstream f("datorii.in");
ofstream g("datorii.out");
void update(int i,int x)
{
    for( ; i<=n ; i+=i&(-1) )
        aib[i] += x;
}
int query(int x)
{
    int sum=0;
    for( ; x ; x -= x&(-x) )
        sum+=aib[x];
    return sum;
}
int main()
{
    f>>n>>m;
    for(int i=1;i<=n;i++)
    {
        int x;
        f>>x , update(i,x);
    }

    for( ; m ; m--)
    {
        int y,z;
        int x;
        f>>x>>y>>z;
        if(x==1)
        g<<query(z)-query(y-1)<<endl;
        else
        update(y,-z);

    }
    return 0;
}