Pagini recente » Cod sursa (job #1242400) | Cod sursa (job #257917) | Cod sursa (job #677664) | Cod sursa (job #1385526) | Cod sursa (job #1028014)
#include<fstream>
#define maxn 16383
using namespace std;
ifstream in("datorii.in"); ofstream out("datorii.out");
int n,m,x,tip,a,b,c[maxn];
void build(int poz, int val){
for(int i=poz; i<=maxn; i+= (i & -i))
c[i]+=x;
}
void update(int poz, int val){
for(int i=poz; i<=maxn; i+= (i & -i))
c[i]-=val;
}
void query(int st, int dr){
int s=0;
for(int i=dr; i; i-=( i & -i))
s+=c[i];
for(int i=st-1; i; i-= (i & -i))
s-=c[i];
out<<s<<'\n';
}
int main(){
in>>n>>m;
for(int i=1;i<=n;++i){
in>>x;
if(x)
build(i,x);
}
for(int i=1;i<=m;++i){
in>>tip>>a>>b;
if(!tip)
update(a,b);
else
query(a,b);
}
out.close();
return 0;
}