Pagini recente » Cod sursa (job #515440) | Cod sursa (job #1878177) | Cod sursa (job #53936) | Cod sursa (job #2885046) | Cod sursa (job #2090883)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("datorii.in");
ofstream fout ("datorii.out");
const int nmax=100012;
int n,m,aib[nmax];
int lsb(int q){
return q & -q;
}
void update(int q, int qq){
while(q<=n){
aib[q]+=qq;
q+=lsb(q);
}
}
int query(int q){
int sum=0;
while(q){
sum+=aib[q];
q-=lsb(q);
}
return sum;
}
int main()
{
int a,b,c;
fin>>n>>m;
for(int i=1;i<=n;++i){
fin>>a;
update(i,a);
}
for(int i=1;i<=m;++i){
fin>>a>>b>>c;
if(a)fout<<query(c)-query(b-1)<<'\n';
else update(b,-c);
}
return 0;
}