Pagini recente » Cod sursa (job #2158196) | Cod sursa (job #1355051) | Cod sursa (job #690636) | Cod sursa (job #1121590) | Cod sursa (job #1500345)
#include<fstream>
#include<iostream>
#include<queue>
#include<algorithm>
using namespace std;
ifstream in("datorii.in");
ofstream out("datorii.out");
int N, M,i,a,b,j,op;
int v[15001];
void update(int i, int e)
{
for (;i <= N;i += i&(-i))
v[i] += e;
}
int query(int i)
{
int s = 0;
for (;i;i -= i&(-i))
s += v[i];
return s;
}
int main()
{
in >> N >> M;
int e;
for (i = 1;i <= N;++i)
{
in >> e;
update(i,e);
}
for (i = 1;i <= M;++i)
{
in >> op >> a >> b;
if (op == 1)
{
out << query(b)-query(a-1) << '\n';
}
else
{
update(a, -b);
}
}
return 0;
}