Pagini recente » Cod sursa (job #2796220) | Cod sursa (job #2861386) | Cod sursa (job #2730251) | Cod sursa (job #965399) | Cod sursa (job #2120349)
#include <bits/stdc++.h>
using namespace std;
ifstream in("datorii.in");
ofstream out("datorii.out");
const int NMAX = 15000;
int m, n, c, x, y;
int aib[NMAX + 2];
void update(int poz, int val)
{
while(poz <= n)
{
aib[poz] += val;
poz += poz & (-poz);
}
}
int query(int arg)
{
int ans = 0;
while(arg)
{
ans += aib[arg];
arg -= arg & (-arg);
}
return ans;
}
int main()
{
in >> n >> m;
for(int i = 1; i <= n; i++)
{
in >> x;
update(i, x);
}
while(m--)
{
in >> c >> x >> y;
if(c == 0)
update(x, -y);
else
out << query(y) - query(x - 1) << '\n';
}
return 0;
}