Pagini recente » Cod sursa (job #1098966) | Cod sursa (job #112664) | Cod sursa (job #1260464) | Cod sursa (job #1749786) | Cod sursa (job #3290743)
#include <iostream>
#include <fstream>
#define nl '\n'
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
const int NMAX = 1e5+5;
int n, aib[NMAX];
void add(int i, int val)
{
while (i <= n)
{
aib[i] += val;
i += i & (-i);
}
return;
}
int sum(int i)
{
int res = 0;
while (i)
{
res += aib[i];
i &= i-1;
}
return res;
}
int main()
{
int t;
fin >> n >> t;
for (int i = 1; i <= n; i++)
{
int x;
fin >> x;
add(i, x);
}
while (t--)
{
int c, x, y;
fin >> c >> x >> y;
if (c == 0)
add(x, -y);
else
fout << sum(y)-sum(x-1) << nl;
}
return 0;
}