Pagini recente » Cod sursa (job #1482779) | Cod sursa (job #2827864) | Cod sursa (job #760084) | Cod sursa (job #1760478) | Cod sursa (job #2930719)
#include <fstream>
#include <iostream>
#define zeros(x) ( (x ^ (x - 1)) & x )
using namespace std;
ifstream f ("datorii.in");
ofstream g ("datorii.out");
int n, m;
const int NMAX = 15e3;
int aib[NMAX+1];
void add(int x, int q){
for(int i=x; i<=n; i+=zeros(i))
aib[i] += q;
}
int sum(int x){
int sum = 0;
for(int i=x; i>=1; i-=zeros(i))
sum += aib[i];
return sum;
}
int main()
{
f>>n>>m;
for(int j=1; j<=n; j++){
int k;
f>>k;
add(j, k);
}
for(int j=1; j<=m; j++){
int t, a, b;
f>>t>>a>>b;
if(t == 0)
add(a, -1*b);
if(t == 1)
g<<sum(b) - sum(a-1)<<"\n";
}
return 0;
}