Pagini recente » Cod sursa (job #753479) | Cod sursa (job #1774058) | Cod sursa (job #540438) | Cod sursa (job #1348981) | Cod sursa (job #2904455)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
int arb[15100], n, q, op, i, x, y;
int query(int a)
{
int val = 0;
for(i = a; i > 0; i -=(i & -i))
val += arb[i];
return val;
}
void update(int a, int val)
{
for(i = a; i <= n; i +=(i & -i))
arb[i] += val;
}
int main()
{
f>>n>>q;
for(i = 1; i <= n; ++i)
{
f>>x;
update(i,x);
}
for(i = 1; i <= q; ++i)
{
f>>op>>x>>y;
switch (op) {
case 0:
{
update(x,-y);
break;
}
case 1:
{
g<<(query(y) - query(x - 1))<<"\n";
break;
}
}
}
return 0;
}