Pagini recente » Cod sursa (job #1274186) | Cod sursa (job #1423613) | Cod sursa (job #2104532) | Cod sursa (job #2107881) | Cod sursa (job #2361081)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
const int N=15009;
int n,m;
int a[N],aib[N];
void read()
{
fin.sync_with_stdio(false);
fin>>n>>m;
for(int i=1;i<=n;i++)
fin>>a[i];
}
void update(int x,int y)
{
while(x<=n)
{
aib[x]+=y;
x+=x&(-x);
}
}
int query(int x)
{
int sum=0;
while(x)
{
sum+=aib[x];
x-=x&(-x);
}
return sum;
}
void solve()
{
for(int i=1;i<=n;i++)
update(i,a[i]);
for(int i=1;i<=m;i++)
{
int caz,x,y;
fin>>caz>>x>>y;
if(caz==0)
update(x,-y);
else
fout<<query(y)-query(x-1)<<'\n';
}
}
int main()
{
read();
solve();
return 0;
}