Pagini recente » Cod sursa (job #239899) | Cod sursa (job #1767780) | Cod sursa (job #534669) | Cod sursa (job #2471741) | Cod sursa (job #1774106)
#include <cstdio>
using namespace std;
int aib[15005], n;
void update(int poz,int val)
{
for( ; poz<=n; poz+=poz&-poz)
aib[poz]-=val;
}
void update1(int poz, int val)
{
for( ; poz<=n; poz+=poz&-poz)
aib[poz]+=val;
}
int query(int poz)
{
int s=0;
for( ; poz; poz-=poz&-poz)
s=s+aib[poz];
return s;
}
int main()
{ freopen("datorii.in", "r",stdin);
freopen("datorii.out", "w",stdout);
int m,i,cer,x,y;
scanf("%d%d", &n, &m);
for(i=1; i<=n; i++){
scanf("%d", &x);
update1(i,x);
}
for(i=1; i<=m; i++){
scanf("%d%d%d", &cer, &x, &y);
if(cer==0)
update(x, y);
else
printf("%d\n", query(y)-query(x-1));
}
return 0;
}