Pagini recente » Cod sursa (job #3192123) | Cod sursa (job #2583434) | Cod sursa (job #1549786) | Cod sursa (job #1844585) | Cod sursa (job #1465948)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <cstring>
using namespace std;
const int vk = 15003;
int n, m;
int aib[vk];
inline void update (int x, int val){
for (int i = x; i <= n; i += i & -i)
aib[i] += val;
}
inline int query (int x){
int here = 0;
for (int i = x; i; i -= i & -i)
here += aib[i];
return here;
}
int main(){
ifstream fin ("datorii.in");
ofstream fout ("datorii.out");
fin >> n >> m;
for (int i = 1; i <= n; i++){
int x;
fin >> x;
update(i, x);
}
for (; m; --m){
int cod, d1, d2;
fin >> cod >> d1 >> d2;
if (!cod)
update(d1, - d2);
else fout << query(d2) - query(d1 - 1) << "\n";
}
return 0;
}