Cod sursa(job #1278767)

Utilizator VictoriaNevTascau Victoria VictoriaNev Data 29 noiembrie 2014 13:38:39
Problema Datorii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <fstream>
#include <iostream>
#define NMAX 15005
using namespace std;
int aib[NMAX], n, i, k, x, a, b;
void update(int poz,int val){
for(;poz<=n;poz+=poz&(poz-1)^poz)
aib[poz]+=val;
}
int query(int poz){int s=0;
for(;poz;poz-=poz&(poz-1)^poz)
s+=aib[poz];
return s;
}
int main()
{   ifstream cin("datorii.in");
    ofstream cout("datorii.out");
    cin>>n>>k;
    for(i=1;i<=n;i++){
    cin>>x;update(i,x);}
    for (i=1;i<=k;i++){cin>>x;
    if(x==0){cin>>a>>b;update(a,-b);}
    else{cin>>a>>b;cout<<query(b)-query(a-1)<<'\n';}
    }
    return 0;
}