Pagini recente » Cod sursa (job #868747) | Cod sursa (job #2803592) | Cod sursa (job #1082656) | Cod sursa (job #2382640) | Cod sursa (job #2626302)
#include <bits/stdc++.h>
#define MAXN 15002
using namespace std;
ifstream f ("datorii.in");
ofstream g ("datorii.out");
int n,v[MAXN],m;
int Tr(int x)
{
return x & (-x);
}
void update(int is, int val)
{
for (int i =is; i <= n; i += Tr(i))
v[i] += val;
}
int suma (int is)
{
int s = 0;
for (int i = is; i > 0; i -=Tr(i))
s += v[i];
return s;
}
int main() {
int nr, op, x,y;
f >> n>> m;
for (int i = 1; i <= n; ++i){
f >> nr;
update(i, nr);
}
while(m--) {
f >> op;
if (op == 0)
{
f>>x>>y;
update (x, - y);}
else{
f>>x>>y;
g<< suma(y) - suma(x - 1) <<endl;
}
}
return 0;
}