Pagini recente » Cod sursa (job #1895316) | Cod sursa (job #1212665) | Cod sursa (job #1733457) | Cod sursa (job #2505652) | Cod sursa (job #1856915)
#include <bits/stdc++.h>
#define MAXN 15005
using namespace std;
ifstream in("datorii.in");
ofstream out("datorii.out");
int n,m,AIB[MAXN],x,y;
int zero(int x)
{
return (x^(x-1))&x;
}
void add(int i,int q)
{
for(;i<=n;i+=zero(i))
AIB[i]+=q;
}
int query(int i)
{
int r=0;
for(;i>0;i-=zero(i))
r+=AIB[i];
return r;
}
int main()
{
in>>n>>m;
for(int i=1;i<=n;++i)
{
in>>x;
add(i,x);
}
for(int i=1;i<=m;++i)
{
in>>x;
if(x==0)
{
in>>x>>y;
add(x,-y);
}
else
{
in>>x>>y;
out<<query(y)-query(x-1)<<'\n';
}
}
return 0;
}