Pagini recente » Cod sursa (job #3315115) | Cod sursa (job #3308978) | Cod sursa (job #3311968) | Cod sursa (job #3313688) | Cod sursa (job #3321874)
//
// main.cpp
// Datorii AIB
//
// Created by Andrada Minca on 11.11.2025.
//
#include <fstream>
using namespace std;
ifstream cin("datorii.in");
ofstream cout("datorii.out");
vector<long long> aib;
int lsb(int x)
{
return (x&(-x));
}
void update(int x,int add)
{
for(int i=x;i<aib.size();i+=lsb(i))
{
aib[i]+=add;
}
}
long long query(int x)
{
long long sum=0;
for(int i=x;i>0;i-=lsb(i))
{
sum+=aib[i];
}
return sum;
}
int main()
{
int n,m;
cin>>n>>m;
aib.resize(n+1);
for(int i=1;i<=n;i++)
{
int x;
cin>>x;
update(i,x);
}
for(int i=1;i<=m;i++)
{
int c;
cin>>c;
if(c==0)
{
int t,v;
cin>>t>>v;
update(t,-v);
}
else
{
int p,q;
cin>>p>>q;
cout<<query(q)-query(p-1)<<'\n';
}
}
return 0;
}