Cod sursa(job #2738194)

Utilizator robert.barbu27robert barbu robert.barbu27 Data 5 aprilie 2021 15:51:50
Problema Datorii Scor 100
Compilator cpp-64 Status done
Runda soft-contest Marime 0.85 kb
#include <bits/stdc++.h>
#define NMAX 250000
#define pb push_back
#define sqmax 500

using namespace std;

ifstream f("datorii.in");
ofstream g("datorii.out");
int N,M;
int aib[15005];
void add(int poz,int val)
{
    for(int i=poz;i<=N;i+=i&(-i))
    {
        aib[i]+=val;
    }
}
int querry(int poz)
{
    int sol=0;
    for(int i=poz;i>0;i-=i&(-i))
    {
        sol+=aib[i];
    }
    return sol;
}
int main()
{
    f>>N>>M;
    for(int i=1;i<=N;i++)
    {
        int x;
        f>>x;
        add(i,x);

    }
    for(int i=1;i<=M;i++)
    {
        int tip;
        f>>tip;
        if(tip==0)
        {
            int x,y;
            f>>x>>y;
            add(x,-y);

        }
        else
        {
            int x,y;
            f>>x>>y;
            g<<querry(y)-querry(x-1)<<'\n';
        }
    }



}