Pagini recente » Cod sursa (job #2988565) | Cod sursa (job #2471075) | Cod sursa (job #2452796) | Cod sursa (job #1317195) | Cod sursa (job #1617827)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("datorii.in");
ofstream out("datorii.out");
int n,m;
int aib[15003];
void add(int poz, int val) {
for(int i = poz; i <= n; i += i&-i)
aib[i] += val;
}
int que(int poz) {
int val = 0;
for(int i = poz; i > 0; i -= i&-i)
val += aib[i];
return val;
}
int main() {
in >> n >> m;
int v;
for(int i = 1; i <= n; i++) {
in >> v;
add(i, v);
}
int t,a,b;
for(int i = 0 ; i < m; i++) {
in >> t >> a >> b;
if(t == 0)
add(a, -b);
else
out << que(b)-que(a-1) << '\n';
}
return 0;
}