Pagini recente » Cod sursa (job #2324325) | Cod sursa (job #2557531) | Cod sursa (job #2647540) | Cod sursa (job #2617585) | Cod sursa (job #1610520)
#include <cstdio>
#define zero(x) (x&(-x))
#define NMax 15005
using namespace std;
int AIB[NMax];
int n,m,x,y,p;
void add(int poz,int x){
for(int i = poz; i <= n; i += zero(i))
AIB[i] += x;
}
int sumpoz(int poz){
int sum = 0;
for(int i = poz; i >= 1; i -= zero(i)){
sum += AIB[i];
}
return sum;
}
int main()
{
freopen("datorii.in","r",stdin);
freopen("datorii.out","w",stdout);
scanf("%d%d",&n,&m);
for(int i = 1; i <= n; ++i){
scanf("%d",&x);
add(i,x);
}
for(int i = 1; i <= m; ++i){
scanf("%d%d%d",&p,&x,&y);
if(p == 0)
add(x,-y);
else{
printf("%d\n",sumpoz(y) - sumpoz(x - 1));
}
}
return 0;
}