Pagini recente » Cod sursa (job #3148648) | Cod sursa (job #2350876) | Cod sursa (job #2809831) | Cod sursa (job #828919) | Cod sursa (job #2904311)
#include <bits/stdc++.h>
using namespace std;
ifstream in ("datorii.in");
ofstream out ("datorii.out");
int n,m,arb_rmq[16000],x,y,op_code;
void modificare(int poz, int val)
{
for(int i = poz; i <= n; i += i&(-i)) arb_rmq[i] += val;
}
int interogare(int poz)
{
int rez = 0;
for(int i = poz; i >= 1; i -= i&(-i)) rez += arb_rmq[i];
return rez;
}
int main()
{
in>>n>>m;
for(int i = 1; i <= n; i++)
{
in>>x;
modificare(i, x);
}
for(int i = 1; i <= m; i++)
{
in>>op_code>>x>>y;
if(op_code == 1) out<<interogare(y) - interogare(x - 1)<<"\n";
else modificare(x, -y);
}
return 0;
}