Pagini recente » Cod sursa (job #3235127) | Cod sursa (job #3198723) | Cod sursa (job #2302903) | Cod sursa (job #560394) | Cod sursa (job #3279264)
#include <bits/stdc++.h>
using namespace std;
ifstream in("datorii.in");
ofstream out("datorii.out");
int aib[15007];
int n,m,x,q,a,b;
void update(int poz,int x)
{
for(int i=poz;i<=n;i+=(i^(i-1)&i))
aib[i]+=x;
}
int ss(int poz)
{
int sum=0;
for(int i=poz;i!=0;i-=(i^(i-1)&i))
sum=sum+aib[i];
return sum;
}
int main()
{
in>>n>>m;
for(int i=1;i<=n;i++)
{
in>>x;
update(i,x);
}
for(int i=1;i<=m;i++)
{
in>>q>>a>>b;
if(q==0)
update(a,-b);
else
out<<ss(b)-ss(a-1)<<'\n';
}
return 0;
}