Pagini recente » Cod sursa (job #694255) | Cod sursa (job #296949) | Cod sursa (job #7918) | Cod sursa (job #843569) | Cod sursa (job #2152753)
#include <fstream>
#define nmax 15000
using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
int aib[nmax*4],n;
void add(int pos,int val){
while(pos<=n){
aib[pos]+=val;
pos+=((pos^(pos-1))&pos);
}
}
int querry(int pos){
int s=0;
while(pos>0){
s+=aib[pos];
pos-=((pos^(pos-1))&pos);
}
return s;
}
int main(){
int m,i,x,op,a,b;
f>>n>>m;
for(i=1;i<=n;i++){
f>>x;
add(i,x);
}
for(i=1;i<=m;i++){
f>>op>>a>>b;
if(op==0){
add(a,-b);
}
if(op==1){
g<<querry(b)-querry(a-1)<<'\n';
}
}
return 0;
}