Pagini recente » Cod sursa (job #840442) | Cod sursa (job #2379605) | Cod sursa (job #465573) | Cod sursa (job #1696611) | Cod sursa (job #2118507)
#include <fstream>
#define MAX 15005
using namespace std;
int nr(int x)
{
return (x&-x);
}
int n,arb[MAX];
void update(int x,int y)
{
int i=x;
while(i<=n)
{
arb[i]+=y;
i+=nr(i);
}
}
int query(int x)
{
int s;
s=0;
for(int i=x;i>=1;i-=nr(i))
{
s+=arb[i];
}
return s;
}
int q,i,x,t,z,y;
int main()
{
ifstream fin("datorii.in");
ofstream fout("datorii.out");
fin>>n>>q;
for(i=1;i<=n;i++)fin>>x,update(i, x);
for(t=1;t<=q;t++)
{
fin>>z>>x>>y;
if(z==0)
{
update(x,-y);
}
else
{
fout<<query(y)-query(x-1)<<"\n";
}
}
return 0;
}