Pagini recente » Cod sursa (job #2255185) | Cod sursa (job #698865) | Cod sursa (job #1636900) | Cod sursa (job #856765) | Cod sursa (job #1011623)
#include <fstream>
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
const int nmax=15000;
int n;
int ft[nmax+1];
void ft_upd( int p, int x ) {
for ( int i= p; i<=n; i= 2*i-(i&(i-1)) ) {
ft[i]+= x;
}
}
int ft_que( int p ) {
int sol= 0;
for ( int i= p; i>0; i&= i-1 ) {
sol+= ft[i];
}
return sol;
}
int main( ) {
int m;
fin>>n>>m;
for ( int i= 1; i<=n; ++i ) {
int x;
fin>>x;
ft_upd(i, x);
//printf("%d ", ft[i]);
}
//printf("\n********************************\n\n");
for ( int i= 1; i<=m; ++i ) {
int x, y, z;
fin>>x>>y>>z;
if ( x==0 ) {
ft_upd(y, -z);
} else {
fout<<ft_que(z)-ft_que(y-1)<<"\n";
}
}
return 0;
}