Pagini recente » Cod sursa (job #539872) | Cod sursa (job #2693739) | Cod sursa (job #1780266) | Cod sursa (job #1869335) | Cod sursa (job #2646250)
#include <iostream>
#include <stdio.h>
#define NMAX 15003
using namespace std;
int n,m,i,j,cer,a,b;
int aib[NMAX];
inline int zero(int n){
return (n^(n-1))&n;
}
void add(int ind,int val){
int i;
for(i=ind;i<=n;i=i+zero(i)){
aib[i]=aib[i]+val;
}
}
int sum(int ind){
int i,s=0;
for(i=ind;i>=1;i=i-zero(i))
s=s+aib[i];
return s;
}
int main()
{
freopen("datorii.in","r",stdin);
freopen("datorii.out","w",stdout);
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",&cer,&a,&b);
if(!cer)
add(a,-b);
else
printf("%d\n",sum(b)-sum(a-1));
}
return 0;
}