Pagini recente » Cod sursa (job #2124488) | Cod sursa (job #1302773) | Cod sursa (job #3195463) | Cod sursa (job #559553) | Cod sursa (job #2626380)
#include <bits/stdc++.h>
using namespace std;
ifstream in("datorii.in");
ofstream out("datorii.out");
const int dim = 15010;
int n, m, v[dim];
int nr(int x)
{
return (x & (-x));
}
int suma(int x)
{
int s = 0;
while(x > 0)
{
s += v[x];
x -= nr(x);
}
return s;
}
void baga(int i, int x)
{
while(i <= n)
{
v[i] += x;
i += nr(i);
}
}
void scade(int i, int x)
{
while(i <= n)
{
v[i] -= x;
i += nr(i);
}
}
int main()
{
in>>n>>m;
int o, x, y;
for(int i = 1;i <= n;i++)
{
in>>x;
baga(i, x);
}
for(int i = 1;i <= m;i++)
{
in>>o>>x>>y;
if(o == 0)
scade(x, y);
else
out<<suma(y) - suma(x - 1)<<'\n';
}
return 0;
}