Pagini recente » Cod sursa (job #995950) | Cod sursa (job #971690) | Clasament preONI 2007, Runda 4, Clasele 11-12 | Cod sursa (job #1280679) | Cod sursa (job #1425542)
#include <cstdio>
#include <algorithm>
#include <cstring>
#define zeros(x) ( (x ^ (x - 1)) & x )
#define Nmax 15004
using namespace std;
int n, m, i, j, nr, val;
int aib[Nmax];
int sum(int x)
{
int suma = 0, i;
for (i = x;i >= 1; i -= zeros(i) )
suma += aib[i];
return suma;
}
void add(int x, int y)
{
int i;
for (i = x; i <= n; i += zeros(i) )
aib[i] += y;
}
void Achit()
{
int a, b;
scanf("%d %d", &a, &b);
add(a, - b);
}
void Inter()
{
int a, b;
scanf("%d %d", &a, &b);
printf("%d\n", sum(b) - sum(a - 1));
}
int main()
{
int q = 0;
freopen("datorii.in", "r", stdin);
freopen("datorii.out", "w", stdout);
scanf("%d %d", &n , &m);
for (i = 1; i <= n; ++i)
{
scanf("%d", &val);
add(i, val);
}
while (m--)
{
scanf("%d", &q);
if (q == 0)
Achit();
else Inter();
}
}