Pagini recente » Cod sursa (job #2765800) | Cod sursa (job #1973313) | Cod sursa (job #182838) | Cod sursa (job #291676) | Cod sursa (job #1269277)
#include <iostream>
#include <fstream>
#define N_max 15005
int n,m,op,x,y;
int aib[N_max];
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
int query (int x)
{
int aux=x,suma=0;
while(x>0)
{
suma+=aib[x];
aux-=1;
aux=~aux;
aux=x&aux;
x-=aux;
}
return suma;
}
void update (int x,int y)
{
int aux=x;
while(x<=n)
{
aib[x]+=y;
aux-=1;
aux=~aux;
aux=x&aux;
x+=aux;
}
}
int main()
{
fin>>n>>m;
for(int i=1;i<=n;i++)
{
fin>>x;
update(i,x);
}
for(int i=1;i<=m;i++)
{
fin>>op>>x>>y;
if(op==0)
update(x,-y);
else
fout<<query(y)-query(x-1)<<endl;
}
}