Pagini recente » Cod sursa (job #298026) | Cod sursa (job #2536984) | Cod sursa (job #3042072) | Cod sursa (job #3141508) | Cod sursa (job #2753164)
#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 poz, int val) {
while (poz <= n) {
aib[poz] += val;
poz += (poz & (-poz));
}
}
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;
}