Pagini recente » Cod sursa (job #2438968) | Cod sursa (job #1761428) | Cod sursa (job #1358940) | Cod sursa (job #1361636) | Cod sursa (job #1242531)
#include<fstream>
using namespace std;
ifstream in("datorii.in");
ofstream out("datorii.out");
const int nmax = 15000;
int n, m, aib[nmax], chestie, a, b;
int zeros(int x)
{
return (x ^ (x - 1)) & x;
}
void add(int x, int val)
{
for(int i = x; i<=n; i+=zeros(i))
aib[i] += val;
}
int calc(int x)
{
int p = 0;
for(int i = x; i>0; i-=zeros(i))
p += aib[i];
return p;
}
int main(){
int player_unu=0;
in>>n>>m;
for(int i = 1; i<=n; i++)
{
in>>chestie;
add(i, chestie);
}
for(int i = 0; i<m; i++)
{
in>>chestie>>a>>b;
if(chestie==0)
{
add(a, -b);
}
else
{
out<<calc(b) - calc(a - 1)<<'\n';
}
}
return player_unu;
}