Cod sursa(job #2906731)

Utilizator NutaAlexandruASN49K NutaAlexandru Data 27 mai 2022 09:00:31
Problema Datorii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#import<fstream>
using namespace std;
ifstream cin("datorii.in");
ofstream cout("datorii.out");
int aib[15001],n;
void update(int poz,const int val)
{
    for(;poz<=n;poz+=(poz&(-poz)))
    {
        aib[poz]+=val;
    }
}
int query(int poz)
{
   int s=0;
   for(;poz>0;poz-=(poz&(-poz)))
   {
       s+=aib[poz];
   }
   return s;
}
main()
{
    int m;
    cin>>n>>m;
    for(int i=1;i<=n;i++)
    {
        int x;
        cin>>x;
        update(i,x);
    }
    while(m--)
    {
        int tt;
        cin>>tt;
        if(tt==0)
        {
            int poz,val;
            cin>>poz>>val;
            update(poz,-val);
        }
        else
        {
            int a,b;
            cin>>a>>b;
            cout<<query(b)-query(a-1)<<'\n';
        }
    }
}