Pagini recente » Cod sursa (job #1092202) | Cod sursa (job #2395170) | Cod sursa (job #100170) | Cod sursa (job #2301328) | Cod sursa (job #1625679)
#include <fstream>
#define NMAX 30007
using namespace std;
ifstream cin("datorii.in");
ofstream cout("datorii.out");
int n, T;
int Aib[NMAX];
void update(int poz, int val){
while(poz <= n){
Aib[poz] += val;
poz += poz & (poz ^ (poz - 1));
}
}
int query(int poz){
int Ans = 0;
while(poz){
Ans += Aib[poz];
poz -= poz & (poz ^ (poz - 1));
}
return Ans;
}
int main(){
cin >> n >> T;
for(int i = 1; i <= n; ++i){
int a;
cin >> a;
update(i, a);
}
while(T--){
int Type, a, b;
cin >> Type >> a >> b;
if(Type == 0)
update(a, -b);
else
cout << query(b) - query(a - 1) << "\n";
}
return 0;
}