Pagini recente » Cod sursa (job #248100) | Cod sursa (job #2522865) | Cod sursa (job #2861160) | Cod sursa (job #175406) | Cod sursa (job #1643880)
#include <iostream>
#include <cstdio>
const char inFile[] = "datorii.in";
const char outFile[] = "datorii.out";
const int NMAX = 15002;
using namespace std;
int arb[NMAX], n, m;
void update(int i,int val)
{
for(i; i <= n; i += i & -i)
arb[i] += val;
}
int sum(int i)
{
int s = 0;
for(i; i > 0; i -= i & -i)
s += arb[i];
return s;
}
int main()
{
int x, a, b;
freopen(inFile, "r", stdin);
freopen(outFile, "w", stdout);
scanf("%d %d", &n, &m);
for(int i = 1; i <= n; ++i) {
scanf("%d", &x);
update(i, x);
}
for(int i = 1; i <= m; ++i) {
scanf("%d %d %d", &x, &a, &b);
if(x == 0) {
update(a, -b);
}
else {
printf("%d\n", sum(b) - sum(a-1));
}
}
}