Pagini recente » Cod sursa (job #629427) | Cod sursa (job #2650849) | Cod sursa (job #2150461) | Cod sursa (job #2167464) | Cod sursa (job #2214701)
#include <fstream>
#define zeros(x) (x ^ (x-1)) & x
using namespace std;
ifstream cin("datorii.in");
ofstream cout("datorii.out");
int v[15005],aib[15005],days,number_query,type,a,b,i;
void Update(int x,int quantity){
int i;
for(i = x;i <= days;i+=zeros(i)){
aib[i] -= quantity;
}
}
int sum(int x){
int i,sol = 0;
for(i = x;i > 0;i -= zeros(i)){
sol += aib[i];
}
return sol;
}
int main()
{
cin >> days >> number_query;
for(i = 1;i <= days;i++){
cin >> v[i];
Update(i,-v[i]);
}
for(i = 1;i <= number_query;i++){
cin >> type;
cin >> a >> b;
if(type == 0){
Update(a,b);
}
if(type == 1){
cout << sum(b) - sum(a-1) << "\n";
}
}
return 0;
}