Pagini recente » Cod sursa (job #2589459) | Cod sursa (job #37689) | Cod sursa (job #1391642) | Cod sursa (job #319379) | Cod sursa (job #1438364)
#include<cstdio>
using namespace std;
int aib[15001],n;
void add(int poz,int val){
while(poz<=n){
aib[poz]+=val;
poz=poz+((poz&(poz-1))^poz);
}
}
int sum(int poz){
int s=0;
while(poz>0){
s+=aib[poz];
poz=poz-((poz&(poz-1))^poz);
}
return s;
}
int main(){
freopen("datorii.in","r",stdin);
freopen("datorii.out","w",stdout);
int m,i,tip,a,b;
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++){
scanf("%d",&a);
add(i,a);
}
for(i=1;i<=m;i++){
scanf("%d%d%d",&tip,&a,&b);
if(tip==0)
add(a,-b);
else
printf("%d\n",sum(b)-sum(a-1));
}
return 0;
}