Pagini recente » Cod sursa (job #883232) | Cod sursa (job #1220845) | stefi_boss | Cod sursa (job #422981) | Cod sursa (job #1846892)
#include <fstream>
using namespace std;
ifstream f ("datorii.in");
ofstream g ("datorii.out");
int i,n,m,j,s,p,q,t,v,aib[15003],d;
char c;
int ub (int i)
{
return i&(-i);
}
void add (int i,int x)
{
int j;
for(j=i; j<=n; j+=ub(j))
aib[j]+=x;
}
int sum (int x)
{
int i;
s=0;
for(i=x; i>0; i-=ub(i))
s+=aib[i];
return s;
}
int main()
{
f>>n;f>>m;
for(i=1; i<=n; i++)
{
f>>d;
add(i,d);
}
for(i=1; i<=m; i++)
{
f>>c;
if(c=='0')
{
f>>t>>v;
add(t,-v);
}
else
{
f>>p>>q;
s=sum(q)-sum(p-1);
g<<s<<'\n';
}
}
return 0;
}