Cod sursa(job #3136638)

Utilizator AlexSerban21Serban Alexandru AlexSerban21 Data 7 iunie 2023 12:02:30
Problema Datorii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
using namespace std;
ifstream fin ("datorii.in");
ofstream fout ("datorii.out");
int n,m,i,a,b,aib[15001],ch,poz,x;
void update (int i)
{
    for (; i<=n; i+=(i&-i))
        aib[i]+=x;
}
int query (int i)
{
    int sum=0;
    for (; i>0; i-=(i&-i))
        sum+=aib[i];
    return sum;
}
int main ()
{
    fin>>n>>m;
    for (i=1; i<=n; i++)
    {
        fin>>x;
        update (i);
    }
    for (i=1; i<=m; i++)
    {
        fin>>ch;
        if (ch==0)
        {
            fin>>poz>>x;
            x=-x;
            update (poz);
        }
        else
        {
            fin>>a>>b;
            fout<<query (b)-query (a-1)<<"\n";
        }
    }
    return 0;
}