Cod sursa(job #2444357)

Utilizator eduardmirceabraguta eduard eduardmircea Data 31 iulie 2019 12:46:03
Problema Datorii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream in ("datorii.in");
ofstream out ("datorii.out");
long long x,aib[500000],i,s,n,c,m;
int ub(int x)
{
    return (x&(-x));

}

void add( int x,int val )
{

    for(i=x;i<=n;i=i+ub(i))
    {aib[i]=aib[i]+val;

    }

}
int sum ( int x )
{int s=0;

    for( i=x;i>=1;i=i-ub(i))
    {s=s+aib[i];

    }
return s;
}




int j;
int main()
{
    in>>n>>m;
    for(j=1;j<=n;j++)
    {
     in>>x;
      add(j,x);

    }



int a,b;
    for(j=1;j<=n;j++)
        {in>>c;
       if(c==1){in>>a>>b; out<<sum(b)-sum(a-1)<<"\n";;  }
            if(c==0){in>>a>>b; b=b*(-1);add(a,b);   }
        }





    return 0;
}