Pagini recente » Cod sursa (job #2940780) | Cod sursa (job #93303) | Cod sursa (job #329797) | Cod sursa (job #231218) | Cod sursa (job #641498)
Cod sursa(job #641498)
#include<fstream>
#define formula(x)(x&-x)
using namespace std;
int AIB[15001],N,M,V,T,i,j,q;
ifstream f("datorii.in");
ofstream g("datorii.out");
void update(int poz ,int quantity){
int i;
for(i=poz ; i <=N ; i+=formula(i))
AIB[i]+=quantity;
}
void querry(int a,int b){
int A,B;
for(int i=a-1;i>=1;i-=formula(i))
A+=AIB[i];
for(int j=b;j>=1;j-=formula(j))
B+=AIB[j];
g<<B-A<<"\n";
}
int main (){
f>>N>>M;
for(i=1;i<=N;i++){
f>>T;
update(i,T);
}
for(i=1;i<=M;i++)
{
f>>q>>T>>V;
if(q==0)
update(T,-V);
else
querry(T,V);
}
return 0;
}