Cod sursa(job #3366242)

Utilizator informatica1218alexia petre informatica1218 Data 30 septembrie 2026 09:45:28
Problema Datorii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include "bits/stdc++.h"
using namespace std;
ifstream f ("datorii.in");
ofstream g ("datorii.out");
int n,aib[15002];
int ub (int x)
{
    return (x & (-x));
}
int sum (int x)
{
    int i,s=0;
    for (i=x;i>=1;i-=ub(i))
    {
        s+=aib[i];
    }
    return s;
}
void add (int x,int val)
{
    int i;
    for (i=x;i<=n;i+=ub(i))
    {
        aib[i]+=val;
    }
}
int main ()
{
    int q,x,v,t,poz,val;
    f>>n>>q;
    for (x=1;x<=n;x++)
    {
        f>>v;
        add(x,v);
    }
    for (x=1;x<=q;x++)
    {
        f>>t>>poz>>val;
        if (t==0)
        {
            add(poz,-val);
        }
        else
        {
            g<<sum(val)-sum(poz-1)<<endl;
        }
    }
    f.close ();
    g.close ();
    return 0;
}