Pagini recente » Cod sursa (job #304765) | Cod sursa (job #333052) | Cod sursa (job #1212824) | Cod sursa (job #2670042) | Cod sursa (job #1278767)
#include <fstream>
#include <iostream>
#define NMAX 15005
using namespace std;
int aib[NMAX], n, i, k, x, a, b;
void update(int poz,int val){
for(;poz<=n;poz+=poz&(poz-1)^poz)
aib[poz]+=val;
}
int query(int poz){int s=0;
for(;poz;poz-=poz&(poz-1)^poz)
s+=aib[poz];
return s;
}
int main()
{ ifstream cin("datorii.in");
ofstream cout("datorii.out");
cin>>n>>k;
for(i=1;i<=n;i++){
cin>>x;update(i,x);}
for (i=1;i<=k;i++){cin>>x;
if(x==0){cin>>a>>b;update(a,-b);}
else{cin>>a>>b;cout<<query(b)-query(a-1)<<'\n';}
}
return 0;
}