Pagini recente » Cod sursa (job #720529) | Cod sursa (job #2180670) | Cod sursa (job #3248339) | Cod sursa (job #258990) | Cod sursa (job #2300834)
#include <iostream>
#include <fstream>
std::ifstream in("datorii.in");
std::ofstream out("datorii.out");
int aib[15005];
int n;
void update(int p,int val)
{
for(;p <= n;p += p & -p)
aib[p] += val;
}
int query(int p)
{
int suma = 0;
for(;p > 0;p -= p & -p)
suma += aib[p];
return suma;
}
int main()
{
int m,x;
in>>n>>m;
for(int i = 1;i <= n;i++)
in>>x,update(i,x);
int tip,a,b;
for(int i = 1;i <= m;i++)
{
in>>tip>>a>>b;
if(tip == 0)
update(a,-b);
else if(tip == 1)
out<<query(b) - query(a - 1)<<'\n';
}
return 0;
}