Cod sursa(job #3256405)

Utilizator theo_aldescuTheodora Aldescu theo_aldescu Data 14 noiembrie 2024 15:28:52
Problema Datorii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
int n,m,aib[15005],q,x,y,t,v,i;
void adun(int x, int val)
{int i;
for(i=x;i<=n;i+=(i&(-i)))
    {aib[i]+=val;
    }
}
int suma(int x)
{int sum=0,i;
for(i=x;i>=1;i-=(i&(-i)))
    sum+=aib[i];

return sum;
}
int main()
{f>>n>>m;
for(i=1;i<=n;i++)
    {f>>x;
    adun(i,x);
    }
for(i=1;i<=m;i++)
    {f>>q;
    if(q==1)
        {f>>x>>y;
        g<<suma(y)-suma(x-1)<<'\n';
        }
    else {f>>t>>v;
    adun(t,-v);
    }
    }

}