Cod sursa(job #1706285)

Utilizator Mihai9Oniga Mihai Mihai9 Data 22 mai 2016 09:54:09
Problema Datorii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <fstream>
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
int n,m,a[15001];
int q(int p){
    int s=0;
    for(int i=p;i>=1;i-=i&-i){s+=a[i];}
    return s;
}
void baga(int p,int val){
    for(int i=p;i<=n;i+=i&-i){a[i]+=val;}
}
int main(){
    int i,x,y,z;
    fin>>n>>m;
    for(i=1;i<=n;i++){
     fin>>x;
     baga(i,x);
    }
    while(m!=0){
        fin>>x>>y>>z;
        if(x){fout<<q(z)-q(y-1)<<"\n";}
        else{baga(y,-z);}m--;
    }
    return 0;
}