Pagini recente » Cod sursa (job #1116650) | Cod sursa (job #2266123) | Cod sursa (job #3279717) | Cod sursa (job #2381804) | Cod sursa (job #1516972)
#include<fstream>
using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
int n,m,e[15010],x,t,v,p,q,opt;
void adauga (int poz, int val) {
for(int i=poz;i<=n;i+=(i&(-i)))
e[i]-=val;
}
int suma (int lim){
int s=0;
for(int i=lim;i>0;i-=(i&(-i))){
s+=e[i];
}
return s;
}
int main () {
f>>n>>m;
for(int i=1;i<=n;++i){
f>>x;
for(int j=i;j<=n;j+=(j&(-j)))
e[j]+=x;
}
for(int j=1;j<=m;j++){
f>>opt;
if(opt==0){
f>>t>>v;
adauga(t,v);
}
else{
f>>p>>q;
g<<suma(q)-suma(p-1)<<'\n';
}
}
g.close();
return 0;
}