Cod sursa(job #2753165)

Utilizator davalxdavid alex davalx Data 21 mai 2021 12:31:40
Problema Datorii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <fstream>

using namespace std;
ifstream in("datorii.in");
ofstream out("datorii.out");

const int N=15000;
const int L=16;

int aib[N+1],n;

void act(int p, int val, int semn){
    while (p<=n){
        aib[p]+=semn*val;
        p+=(p&(-p));
    }
}
int sum(int p){
    int s=0;
    while(p!=0){
        s+=aib[p];
        p-=(p&(-p));
    }
    return s;
}

int main(){

    int m;
    in>>n>>m;
    for(int i=1;i<=n;i++){
        int x;
        in>>x;
        act(i,x,1);
    }
    for (int i=0;i<m;i++){
        int tip;
        in>>tip;
        if (tip==0){
            int t,v;
            in>>t>>v;
            act(t,v,-1);
        }
        else{
            int p, q;
            in>>p>>q;
            out<<sum(q)-sum(p-1)<<"\n";
        }
    }
    return 0;
}