Pagini recente » Cod sursa (job #2191612) | Cod sursa (job #1813671) | Cod sursa (job #2358639) | Cod sursa (job #2542263) | Cod sursa (job #1689152)
#include <bits/stdc++.h>
#define Nmax 15002
FILE *fin = freopen("datorii.in", "r", stdin);
FILE *fout = freopen("datorii.out", "w", stdout);
using namespace std;
int n, m, aib[Nmax];
void update(int pos, int val)
{
do
{
aib[pos] += val;
pos += pos & -pos;
}while(pos <= n);
}
int sum(int pos)
{
int s = 0;
while(pos)
{
s += aib[pos];
pos -= pos & -pos;
}
return s;
}
void read()
{
int i, x;
scanf("%d %d", &n, &m);
for(i = 1; i <= n; ++ i)
{
scanf("%d", &x);
update(i, x);
}
}
void solution()
{
int t, a, b;
while(m --)
{
scanf("%d %d %d", &t, &a, &b);
if(t == 0)
update(a, -b);
else printf("%d\n", sum(b) - sum(a - 1));
}
}
int main()
{
read();
solution();
return 0;
}