Pagini recente » Cod sursa (job #421686) | Cod sursa (job #95504) | Cod sursa (job #844789) | Cod sursa (job #968768) | Cod sursa (job #1034527)
#include <cstdio>
#define FILEIN "datorii.in"
#define FILEOUT "datorii.out"
#define NMAX 15005
using namespace std;
int V[NMAX];
int N;
void add(int idx, int val)
{
while ( idx <= N )
{
V[idx] += val;
idx += (-idx & idx);
}
}
int query(int idx)
{
int sum = 0;
while ( idx )
{
sum += V[idx];
idx -= (-idx & idx);
}
return sum;
}
int main()
{
freopen(FILEIN, "r", stdin);
freopen(FILEOUT, "w", stdout);
int T;
scanf("%d %d", &N, &T);
for ( int i = 1, x; i <= N; i++)
scanf("%d", &x), add(i, x);
while(T--)
{
int t, x, y;
scanf("%d %d %d", &t, &x, &y);
if ( t == 0 )
{
add(x, -y);
}
else
{
printf("%d\n", query(y) - query(x-1));
}
}
return 0;
}