Cod sursa(job #2581577)

Utilizator LorenaMariaHantig Lorena LorenaMaria Data 15 martie 2020 14:58:13
Problema Datorii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <fstream>
using namespace std;
ifstream in("datorii.in");
ofstream out("datorii.out");
int n,m,v[15001];
void bani(int a,int i)
{ for(;i<=n;i+=i&-i)
    v[i]+=a;
}
int suma(int x)
{ int s=0;
  while(x)
    s+=v[x],x&=x-1;
  return s;
}
int main()
{ in>>n>>m;
  for(int i=1;i<=n;i++)
  { int a;
    in>>a;
    bani(a,i);
  }
  for(int i=1;i<=m;i++)
  { bool c;
    int x,y;
    in>>c>>x>>y;
    if(!c)
       bani(-y,x);
    else
       out<<suma(y)-suma(x-1)<<'\n';
  }
  in.close();
  out.close();
  return 0;
}