Pagini recente » Cod sursa (job #2944106) | Cod sursa (job #2834644) | Cod sursa (job #3193796) | Cod sursa (job #1215578) | Cod sursa (job #2444357)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in ("datorii.in");
ofstream out ("datorii.out");
long long x,aib[500000],i,s,n,c,m;
int ub(int x)
{
return (x&(-x));
}
void add( int x,int val )
{
for(i=x;i<=n;i=i+ub(i))
{aib[i]=aib[i]+val;
}
}
int sum ( int x )
{int s=0;
for( i=x;i>=1;i=i-ub(i))
{s=s+aib[i];
}
return s;
}
int j;
int main()
{
in>>n>>m;
for(j=1;j<=n;j++)
{
in>>x;
add(j,x);
}
int a,b;
for(j=1;j<=n;j++)
{in>>c;
if(c==1){in>>a>>b; out<<sum(b)-sum(a-1)<<"\n";; }
if(c==0){in>>a>>b; b=b*(-1);add(a,b); }
}
return 0;
}