Cod sursa(job #2904385)

Utilizator Mustatoiu-Ioan-SebastianMustatoiu Ioan-Sebastian Mustatoiu-Ioan-Sebastian Data 17 mai 2022 23:27:09
Problema Datorii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <bits/stdc++.h>
 
using namespace std;
 
ifstream in("datorii.in");
ofstream out("datorii.out");
 
const int NMAX = 15005;
const int MMAX = 100005;
int n,m,v[NMAX];
 
void add(int pos, int val){
 
    while(pos <= n){
 
        v[pos] += val;
        pos += pos & -pos;
 
    }
 
}
 
int sum(int pos){
    int sum = 0;
 
    while(pos > 0){
 
        sum += v[pos];
        pos -= pos & -pos;
 
    }
 
    return sum;
 
}
 
int main(){
    int i,x,type,y;
 
    in >> n >> m;
 
    for(i = 1 ; i <= n ; i++){
 
        in >> x;
        add(i, x);
 
    }
 
    while(m--){
        in >> type >> x >> y;
        if(type == 0)
            add(x, -y);
        else
            out << sum(y) - sum(x - 1) << "\n" ;
    }
 
    return 0;
}