Pagini recente » Cod sursa (job #1233441) | Cod sursa (job #950095) | Cod sursa (job #1971900) | Cod sursa (job #2260791) | Cod sursa (job #989351)
Cod sursa(job #989351)
#include <fstream>
using namespace std;
#define NMAX 15010
int tree[NMAX];
int step[NMAX];
void update(int i, int n, int val){
while (i <= n){
tree[i] += val;
i += -i & i;
}
}
long read(int i){
long sum = 0;
while (i > 0){
sum += tree[i];
i -= -i & i;
}
return sum;
}
int main(){
ifstream fin("datorii.in");
ofstream fout("datorii.out");
int n,m,a;
fin >> n >> m;
for (int i=1; i<=n; i++){
fin >> a;
update(i,n,a);
}
int o,t,v,p,q;
for (int i=0; i<m; i++){
fin >> o;
if (o==0){
fin >> t >> v;
update(t,n,-v);
}
else {
fin >> p >> q;
fout << read(q) - read(p-1) << endl;
}
}
fin.close();
fout.close();
return 0;
}