Pagini recente » Cod sursa (job #853692) | Cod sursa (job #3151291) | Cod sursa (job #32817) | Cod sursa (job #1903479) | Cod sursa (job #2959874)
#include <fstream>
using namespace std;
ifstream cin("datorii.in");
ofstream cout("datorii.out");
const int NMAX=1e5+5;
int aib[NMAX],n;
void update(int poz,int val)
{
if(poz>n)
{
return;
}
aib[poz]+=val;
update(poz+((poz^(poz-1))+1)/2,val);
}
int query(int poz)
{
if(poz==0)
{
return 0;
}
return aib[poz]+query(poz-((poz^(poz-1))+1)/2);
}
int main()
{
int m,x;
cin>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>x;
update(i,x);
}
for(int i=1;i<=m;i++)
{
int op;
cin>>op;
if(op==0)
{
int t,val;
cin>>t>>val;
update(t,-val);
}
else
{
int p,q;
cin>>p>>q;
cout<<query(q)-query(p-1)<<endl;
}
}
return 0;
}