Pagini recente » Cod sursa (job #265401) | Cod sursa (job #2589317) | Cod sursa (job #1780316) | Cod sursa (job #1072065) | Cod sursa (job #1793510)
#include <fstream>
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
int n, m, x, y, op;
int a[15001];
void Update(int poz, int v);
void Update1(int poz, int v);
int Query(int x);
int main()
{
fin >> n >> m;
for(int i = 1; i <= n; i++)
{
fin >> x;
Update1(i,x);
}
// fout << Query(4) << '\n';
for(int i = 1; i <= m; i++)
{
fin >> op >> x >> y;
if(op == 0)
Update(x,y);
else
fout << Query(y) - Query(x - 1) << '\n';
}
}
void Update(int poz, int v)
{
for(int i = poz; i <= n; i+= i & -i)
a[i] -= v;
}
void Update1(int poz, int v)
{
for(int i = poz; i <= n; i+= i & -i)
a[i] += v;
}
int Query(int x)
{
int s = 0;
for(int i = x; i; i -= i & -i)
s += a[i];
return s;
}