Pagini recente » Cod sursa (job #553204) | Cod sursa (job #553198) | Cod sursa (job #1558995) | Cod sursa (job #3183025) | Cod sursa (job #3246884)
#include <bits/stdc++.h>
using namespace std;
const int nmax=15003;
int aib[nmax];
int n, q, x, t, a, b;
void upd(int i, int val)
{
while(i<=n)
{
aib[i]+=val;
i+=(i&-i);
}
}
int query(int i)
{
int ans=0;
while(i>=1)
{
ans+=aib[i];
i-=(i&-i);
}
return ans;
}
int main()
{
ifstream cin("datorii.in");
ofstream cout("datorii.out");
cin>>n>>q;
for(int i=1; i<=n; i++)
{
cin>>x;
upd(i, x);
}
while(q--)
{
cin>>t>>a>>b;
if(t==0)
{
upd(a, -b);
}
else
{
cout<<query(b)-query(a-1)<<'\n';
}
}
return 0;
}