Pagini recente » Cod sursa (job #574370) | Cod sursa (job #1205004) | Cod sursa (job #1961529) | Cod sursa (job #3253129) | Cod sursa (job #2652466)
#include <bits/stdc++.h>
using namespace std;
ifstream in("datorii.in");
ofstream out("datorii.out");
const int NMAX = 100005;
int n;
int v[NMAX], s[NMAX];
int len(int x) {
return (x - (x & (x - 1)));
}
void update(int pz, int val) {
while (pz <= n) {
s[pz] += val;
pz += len(pz);
}
}
int querry (int pz) {
int rz = 0;
while (pz > 0) {
rz += s[pz];
pz -= len(pz);
}
return rz;
}
int main(){
int m,op,a,b,rz;
in>>n>>m;
for(int i=1;i<=n;i++){
in>>v[i];
update(i,v[i]);
}
for(int i=1;i<=m;i++)
{
in>>op>>a>>b;
if(op==0){
update(a,-b);
}
if(op==1){
rz=querry(b)-querry(a-1);
out<<rz<<"\n";
}
}
return 0;
}