Cod sursa(job #2284562)

Utilizator MDiana15Diana M MDiana15 Data 17 noiembrie 2018 11:36:29
Problema Datorii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <fstream>

using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
int n,m,i,j,x,aib[16000],a,b,c;
void adaug(int i,int x)
{
    for(int j=i;j<=n;j+=(j&(-j)))
        aib[j]+=x;
}
int sum(int i)
{
    int s=0;
    for(int j=i;j>0;j-=(j&(-j)))s=s+aib[j];
    return s;
}

int main()
{
    f>>n>>m;
    for(i=1;i<=n;i++)
    {
    f>>x;
    adaug(i,x);
    }
    for(i=1;i<=m;i++)
    {
        f>>a>>b>>c;
        if(a==0){adaug(b,-c);}
        else{g<<sum(c)-sum(b-1)<<'\n';}
    }
    return 0;
}