Pagini recente » Cod sursa (job #1754742) | Cod sursa (job #1628471) | Cod sursa (job #1537970) | Cod sursa (job #1331594) | Cod sursa (job #989362)
Cod sursa(job #989362)
#include <fstream>
using namespace std;
#define NMAX 15010
long tree[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;
}