Cod sursa(job #1990263)

Utilizator Cudrici_CarinaCudrici Carina Cudrici_Carina Data 11 iunie 2017 10:03:38
Problema Datorii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <fstream>
using namespace std;
ifstream fi("datorii.in");
ofstream fo("datorii.out");
int a[15001],n,m;

void Update(int x,int v)
{
    for(int i = x; i <= n; i+= i & -i)
        a[i]+=v;
}
int Query(int x)
{
    int s=0;
    for(int i = x; i >= 1 ; i-= i & -i)
        s+=a[i];
    return s;
}


int main()
{
    fi>>n>>m;
    for(int i=1,v; i<=n; i++)
    {
        fi>>v;
        Update(i,v);
    }
int x,y,c;

for(int i=1;i<=m; i++)
    {  fi>>c>>x>>y;
      if(c==0) Update(x,-y);
      if(c==1) fo<<Query(y)-Query(x-1)<<'\n';
    }


        return 0;
}