Pagini recente » Rating Eusebiu Popescu (eupop) | Cod sursa (job #1113074) | Cod sursa (job #2418997) | Cod sursa (job #1367124) | Cod sursa (job #1261288)
#include <stdio.h>
int aib[15001];
int n;
void update(int poz,int valoare){
for(;poz<=n;poz+=poz&(poz-1)^poz){
aib[poz]+=valoare;
}
}
int query(int poz){
int s;
s=0;
for(;poz;poz-=poz&(poz-1)^poz){
s+=aib[poz];
}
return s;
}
int main(){
FILE *f1,*f2;
int m,i,d,a,b,op;
f1=fopen("datorii.in","r");
f2=fopen("datorii.out","w");
fscanf(f1,"%d%d",&n,&m);
for(i=1;i<=n;i++){
fscanf(f1,"%d",&d);
update(i,d);
}
for(i=1;i<=m;i++){
fscanf(f1,"%d%d%d",&op,&a,&b);
if(op==0){
update(a,-b);
}
else{
fprintf(f2,"%d\n",query(b)-query(a-1));
}
}
fclose(f1);
fclose(f2);
return 0;
}