Cod sursa(job #2553632)

Utilizator GabyD002Dobrita Gabriel GabyD002 Data 22 februarie 2020 10:35:30
Problema Datorii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <bits/stdc++.h>
#define ubs(x) ((-x)&x)
using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");

int n,m,aib[1<<14];

void Update(int poz,int val)
{   for(; poz<=n; poz+=ubs(poz))
        aib[poz]+=val;
}

int Query(int poz)
{   int s=0;
    for(; poz; poz-=ubs(poz))
        s+=aib[poz];
    return s;
}

int main()
{   f>>n>>m;
    for(int x,i=1; i<=n; i++)
    {   f>>x;
        Update(i,x);
    }
    for(int t,x,y; f>>t>>x>>y;)
        if(t)
            g<<Query(y)-Query(x-1)<<'\n';
        else
            Update(x,-y);
    g.close(); return 0;
}