Cod sursa(job #1509124)

Utilizator arvlgeArdeleanu Vlad George arvlge Data 23 octombrie 2015 15:32:29
Problema Datorii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#define ll long long
#define zeros(x) (x ^ (x-1) & x)

using namespace std;

ifstream in("datorii.in");
ofstream out("datorii.out");
int n,m,val,s1,s2;
#include<fstream>

int main(){
    in>>n>>m;
    ll a[n];
    for(int i=1;i<=n;i++){
        in>>val;
        for(int j=i;j<=n;j+=zeros(j)){
            a[j]+=val;
        }
    }
    //citire vector initial

    while(m--){
        in>>cod;
        if(cod){
            in>>g>>h;
            --g;
            for(;g>0;g-=zeros(g))
                s1+=a[g];
            for(;h>0;h-=zeros(h))
                s2+=a[h];
            g<<s2-s1;
        }
        else{
            in>>g>>h;
            for(;g<=n;g+=zeros(g))
                a[g]+=h;
        }

    }
    in.close();
    out.close();

    return 0;
}