Pagini recente » Cod sursa (job #1573787) | Cod sursa (job #1505105) | Cod sursa (job #1850780) | Cod sursa (job #1323812) | Cod sursa (job #1337275)
#include <fstream>
using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
int n , m , i , x , y , z;
int a[15005];
#define zeros(x) ( (x ^ (x - 1)) & x )
void update(int pos,int val){
for(; pos<=n; pos+=zeros(pos)) a[pos]+=val;
}
int query(int pos){
int sol = 0;
for(;pos; pos-=zeros(pos)) sol += a[pos];
return sol;
}
int main()
{
f >> n >> m;
for(i=1;i<=n;++i){
f >> x;
update( i , x);
}
for(i=1;i<=n;++i){
f >> x >> y >> z;
if( x ){
g << ( query(z) - query(y-1) ) << '\n';
}else{
update( y , -z );
}
}
return 0;
}