Pagini recente » Cod sursa (job #2499209) | Cod sursa (job #1022492) | Istoria paginii runda/1000101-1/clasament | Cod sursa (job #1885443) | Cod sursa (job #1515434)
#include <iostream>
#include <fstream>
#include <cmath>
#define zeros(x) ( (x ^ (x - 1)) & x )
using namespace std;
long long v[15002];
int main(){//cout << pow(2,0);
ifstream f("datorii.in");
ofstream g("datorii.out");
int n, m,ind,cod,val,st,dr;
f >> n >> m;
long long s1,s2;
for(int i = 1;i <=n;i++){
f >> val;
ind=i;
while(ind <= n){
v[ind]+=val;
ind += zeros(ind);
}
}
while(m--){
f >> cod;
if(cod == 0){
f >> ind >> val;
while(ind <= n){
v[ind]-=val;
ind += zeros(ind);
}
}
else {
s1 = 0;
s2 = 0;
for(f >> st && st--;st > 0;st-=zeros(st))s2+=v[st];
for(f >> dr;dr > 0;dr-=zeros(dr))s1+=v[dr];
g << s1-s2 << endl;
}
}
f.close();
g.close();
return 0;
}