Pagini recente » Cod sursa (job #1273067) | Cod sursa (job #938646) | Cod sursa (job #1950036) | Cod sursa (job #2478025) | Cod sursa (job #2193216)
#include <cstdio>
using namespace std;
int n, m, AIB[15001];
void Add(int poz, int quantity)
{
for(; poz<=n; poz+=poz&-poz)
AIB[poz] += quantity;
}
int Compute(int poz)
{
int sum = 0;
for(; poz>0; poz-=poz&-poz)
sum += AIB[poz];
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++)
{
int x;
scanf("%d", &x);
Add(i,x);
}
while( m-- )
{
int q, x, y;
scanf("%d%d%d", &q, &x, &y);
if(q)
printf("%d\n",Compute(y) - Compute(x-1));
else
Add(x, -y);
}
return 0;
}