Cod sursa(job #3162798)

Utilizator Bianca2507Negret Bianca Bianca2507 Data 29 octombrie 2023 21:48:23
Problema Datorii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <fstream>
#include <deque>
using namespace std;
ifstream cin("datorii.in");
ofstream cout("datorii.out");
int aib[15001],n,m,a,st,dr,ce,x,y;
void update(int poz,int val)
{
    for(int i=poz;i<=n;i+=(i&-i))
        aib[i]+=val;
}
int query(int poz)
{
    int s=0;
    for(int i=poz;i>=1;i-=(i&-i))
        s+=aib[i];
    return s;
}
int main()
{
    cin>>n>>m;
    for(int i=1;i<=n;i++)
    {
        cin>>a;
        update(i,a);
    }
    for(int i=1;i<=m;i++)
    {
        cin>>ce>>x>>y;
        if(ce==0)
            update(x,-y);
        else
            cout<<query(y)-query(x-1)<<'\n';
    }
    return 0;
}