Cod sursa(job #2861266)

Utilizator PescaPescariu Matei Alexandru Pesca Data 3 martie 2022 19:14:54
Problema Datorii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <fstream>
using namespace std;
ifstream cin("datorii.in");
ofstream cout("datorii.out");
int const N=15005;
int sp[N];
int n,q;
#define g(x) (x&(-x))
void add(int pz,int val)
{
    for(int i=pz;i<=n;i+=g(i))
        sp[i]+=val;
}
int sum(int pz)
{
    int s=0;
    for(int i=pz;i;i-=g(i))
        s+=sp[i];
    return s;
}
int main()
{
    cin>>n>>q;
    int x,type,y;
    for(int i=1;i<=n;i++)
        cin>>x,add(i,x);
    while(q--)
    {
        cin>>type>>x>>y;
        if(type)
            cout<<sum(y)-sum(x-1);
        else
            add(x,-y);
    }
}