Pagini recente » Cod sursa (job #1619178) | Cod sursa (job #2674156) | Cod sursa (job #2377637) | Cod sursa (job #1510747) | Cod sursa (job #2498397)
#include <bits/stdc++.h>
using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
const int NMAX = 15005;
const int MMAX = 100005;
int n,m,aib[NMAX];
void add(int pos, int val){
while(pos <= n){
aib[pos] += val;
pos += pos & -pos;
}
}
int sum(int pos){
int sum = 0;
while(pos > 0){
sum += aib[pos];
pos -= pos & -pos;
}
return sum;
}
int main(){
int i,j,x,type,y;
f >> n >> m;
for(i = 1 ; i <= n ; i++){
f >> x;
add(i, x);
}
while(m--){
f >> type >> x >> y;
if(type == 0)
add(x, -y);
else
g << sum(y) - sum(x - 1) << "\n" ;
}
return 0;
}