Pagini recente » Cod sursa (job #2582442) | Cod sursa (job #2258162) | Cod sursa (job #1928755) | Cod sursa (job #473105) | Cod sursa (job #2999893)
#include <bits/stdc++.h>
#define opp(x) ((x^(x-1))&x)
using namespace std;
ifstream in("datorii.in");
ofstream out("datorii.out");
int n,m,aib[15000];
void add(int poz,int val)
{
for(int i = poz;i<=n;i += opp(i))
aib[i] += val;
}
int question(int x)
{
int rez = 0;
for(int i = x;i;i -= opp(i))
rez += aib[i];
return rez;
}
int main()
{
in>>n>>m;
for(int i = 1;i<=n;i++)
{
int x;
in>>x;
add(i,x);
}
for(int i = 1;i<=m;i++)
{
int q,p,t;
in>>t>>q>>p;
if(t == 0)
add(q,-p);
else
out<<question(p)-question(q-1)<<"\n";
}
return 0;
}