Pagini recente » Cod sursa (job #1312541) | Cod sursa (job #2942111) | Cod sursa (job #395961) | Cod sursa (job #2943982) | Cod sursa (job #2308534)
#include<bits/stdc++.h>
#define ll long long
#define N 4001
using namespace std;
ifstream in("datorii.in");
ofstream out("datorii.out");
int a[N],x,y,s;
void update(int nod, int l, int r){
a[nod]+=y;
if(l==r)
return;
int m=(l+r)/2;
if(x<=m)
update(2*nod, l, m);
else
update(2*nod+1, m+1, r);
}
void ans(int nod, int l, int r){
if(x<=l && y>=r){
s+=a[nod];
return;
}
int m=(l+r)/2;
if(x<=m)
ans(2*nod, l, m);
if(y>m)
ans(2*nod+1, m+1, r);
}
int main(){
int n,m,c,i;
in>>n>>m;
for(i=1; i<=n; ++i){
in>>y;
x=i;
update(1,1,n);
}
while(m--){
in>>c>>x>>y;
if(!c){
y=-y;
update(1,1,n);
}
else{
s=0;
ans(1,1,n);
out<<s<<"\n";
}
}
return 0;
}