Pagini recente » Cod sursa (job #2793327) | Cod sursa (job #286122) | Cod sursa (job #1716776) | Cod sursa (job #902112) | Cod sursa (job #2350519)
#include <bits/stdc++.h>
#define ll long long
using namespace std;
int const maxim=16000;
int vector1[maxim];
ll contor=0;
int n;
void update(int nod_start,int suma){
for(int i=nod_start;i<=n;i+=(i&(-i))){
vector1[i]+=suma;
}
}
int suma(int nod_start){
int solutie=0;
for(int i=nod_start;i>0;i-=(i&(-i))){
solutie+=vector1[i];
}
return solutie;
}
int main(){
int m,a,b,p;
ifstream in("datorii.in");
ofstream out("datorii.out");
in>>n >> m;
for(int i=1;i<=n;i++){
in >> a;
update(i,a);
}
for(int i=1;i<=m;i++){
in >>p >> a >> b;
if(p==0)update(a,-b);
else out << suma(b) - suma(a-1) << endl;
}
return 0;
}