Pagini recente » Cod sursa (job #1639395) | Cod sursa (job #2569733) | Cod sursa (job #3249545) | Cod sursa (job #168226) | Cod sursa (job #1907874)
#include <fstream>
#include <iostream>
#define zero(x) ((x ^ (x - 1)) & x)
using namespace std;
int n, m, arb[15005];
ifstream f("datorii.in");
ofstream g("datorii.out");
void Add(int val, int poz)
{
for(int i = poz; i <= n; i += zero(i))
arb[i] += val;
}
int Query(int poz)
{
int s = 0;
for(int i = poz; i >= 1; i -= zero(i))
s += arb[i];
return s;
}
int main()
{
int x, y, q;
f >> n >> m;
for(int i = 1; i <= n; ++i)
{
f >> x;
Add(x, i);
}
for(int i = 1; i <= m; ++i)
{
f >> q >> x >> y;
if(!q) Add(-y, x);
else g << Query(y) - Query(x - 1) << '\n';
}
}