Pagini recente » Cod sursa (job #474820) | Cod sursa (job #3243300) | Cod sursa (job #2171371) | Cod sursa (job #2413122) | Cod sursa (job #3133601)
#include <fstream>
#define zero(x) (x&(x^(x-1)))
using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
int arb[15005],a[15005],n,m,i,x,y,z;
void achita(int poz,int val)
{
int i;
for(i=poz; i<=n; i+=zero(i)) arb[i]-=val;
}
int interogare(int l,int r)
{
int s1=0,s2=0,i;
for(i=l-1; i>0; i-=zero(i)) s1+=arb[i];
for(i=r; i>0; i-=zero(i)) s2+=arb[i];
return (s2-s1);
}
int main()
{
f>>n>>m;
for(i=1; i<=n; i++) f>>a[i], a[i]+=a[i-1];
for(i=1; i<=n; i++)
arb[i]=a[i]-a[i-zero(i)];
for(i=1; i<=m; i++)
{
f>>x>>y>>z;
if(x==0) achita(y,z);
else g<<interogare(y,z)<<"\n";
}
g.close();
return 0;
}