Pagini recente » Cod sursa (job #3272150) | Cod sursa (job #376823) | Cod sursa (job #982027) | Cod sursa (job #3231907) | Cod sursa (job #1199734)
#include<cstdio>
FILE* in=fopen("datorii.in","r");
FILE* out=fopen("datorii.out","w");
int t,n;
const int Q=15007;
int v[Q];
void add(int wh, int val)
{
while(wh<=t)
{
v[wh]+=val;
wh+=wh&(-wh);
}
}
int take(int wh)
{
int rez=0;
while(wh)
{
rez+=v[wh];
wh-=wh&(-wh);
}
return rez;
}
int main()
{
fscanf(in,"%d%d",&t,&n);
int x;
for(int i=1; i<=t; i++)
{
fscanf(in,"%d",&x);
add(i,x);
}
int p,wh;
for(int i=1; i<=n; i++)
{
fscanf(in,"%d%d%d",&p,&wh,&x);
if(p==0)
add(wh,-x);
else
fprintf(out,"%d\n",take(x)-take(wh-1));
}
return 0;
}