Pagini recente » Cod sursa (job #1433760) | Cod sursa (job #2464836) | Cod sursa (job #66933) | Cod sursa (job #2246959) | Cod sursa (job #2753165)
#include <fstream>
using namespace std;
ifstream in("datorii.in");
ofstream out("datorii.out");
const int N=15000;
const int L=16;
int aib[N+1],n;
void act(int p, int val, int semn){
while (p<=n){
aib[p]+=semn*val;
p+=(p&(-p));
}
}
int sum(int p){
int s=0;
while(p!=0){
s+=aib[p];
p-=(p&(-p));
}
return s;
}
int main(){
int m;
in>>n>>m;
for(int i=1;i<=n;i++){
int x;
in>>x;
act(i,x,1);
}
for (int i=0;i<m;i++){
int tip;
in>>tip;
if (tip==0){
int t,v;
in>>t>>v;
act(t,v,-1);
}
else{
int p, q;
in>>p>>q;
out<<sum(q)-sum(p-1)<<"\n";
}
}
return 0;
}