Pagini recente » Cod sursa (job #2632160) | Cod sursa (job #517087) | Cod sursa (job #3293033) | Cod sursa (job #3288779) | Cod sursa (job #415242)
Cod sursa(job #415242)
#include <fstream>
#define NMAX 15004
using namespace std;
int S[NMAX],n;
void achita(int poz,int x)
{
do
{
S[poz]-=x;
poz+=((poz^(poz-1))&poz);
}
while (poz<=n);
}
int suma(int x)
{
int sum=0;
do
{
sum+=S[x];
x-=((x^(x-1))&x);
}
while (x>0);
return sum;
}
int main()
{
ifstream fin("datorii.in"); ofstream fout("datorii.out");
int m,i,x,y,tip;
fin>>n>>m;
for (i=1;i<=n;++i) { fin>>x; achita(i,-x);}
while (m--)
{
fin>>tip>>x>>y;
if (tip==0) achita(x,y);
else fout<<suma(y)-suma(x-1)<<"\n";
}
fin.close(); fout.close();
return 0;
}