Pagini recente » Cod sursa (job #2831889) | Cod sursa (job #2258569) | Cod sursa (job #1957744) | Cod sursa (job #1354095) | Cod sursa (job #2760766)
#include <bits/stdc++.h>
#define nmax 15001
using namespace std;
ifstream in("datorii.in");
ofstream out("datorii.out");
int aib[nmax];
int n,m;
int query(int x){
int rez=0;
while(x){
rez+=aib[x];
x-= (-x)&x;
}
return rez;
}
void update(int poz,int val){
while(poz<=n){
aib[poz]-=val;
poz+= (-poz)&poz;
}
}
int main(){
in>>n>>m;
aib[0]=0;
for(int i=1;i<=n;i++){
int nr;
in>>nr;
aib[i]=nr+query(i-1)-query(i-((-i)&i));
}
for(;m;m--){
bool c;
int a,b;
in>>c>>a>>b;
if(c)out<<query(b)-query(a-1)<<'\n';
else update(a,b);
}
}