Pagini recente » Cod sursa (job #42117) | Cod sursa (job #1527324) | Cod sursa (job #1765261) | Cod sursa (job #61919) | Cod sursa (job #3241848)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
#define lsb(i) (i & (-i))
const int DIM = 15001;
int n, aib[DIM] = { 0 };
void add(int val, int poz)
{
for(int i = poz; i <= n; i += lsb(i))
aib[i] += val;
}
int sum(int poz)
{
int s = 0;
for(int i = poz; i >= 1; i -= lsb(i))
s += aib[i];
return s;
}
int main()
{
int m;
fin >> n >> m;
for(int i = 1; i <= n; i++)
{
int nr;
fin >> nr;
add(nr, i);
}
while(m--)
{
int t, a, b;
fin >> t >> a >> b;
if(t == 0)
add(-b, a);
else
fout << sum(b) - sum(a - 1) << "\n";
}
return 0;
}