Pagini recente » Cod sursa (job #2784565) | Cod sursa (job #1953659) | Cod sursa (job #430653) | Cod sursa (job #765086) | Cod sursa (job #2832650)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
int i, n, m, x, q, a, b;
int aib[100010];
int lsb(int i)
{
return (i&(-i));
}
void update(int i, int p)
{
for(int j = i; j <= n; j+=lsb(j))
aib[j] += p;
}
int query(int i)
{
int r = 0;
for(int j = i; j; j-=lsb(j))
r += aib[j];
return r;
}
int main()
{
fin >> n >> m;
for(i = 1; i <= n; i++)
{
fin >> x; update(i,x);
}
for(int i = 1; i <= m; i++)
{
fin >> q;
if(q == 0)
{
fin >> a >> b;
update(a,-b);
}
else
{
fin >> a >> b;
fout << query(b) - query(a-1) << '\n';
}
}
return 0;
}