Pagini recente » Cod sursa (job #3134719) | Cod sursa (job #1168134) | Cod sursa (job #1285025) | Cod sursa (job #603769) | Cod sursa (job #2665643)
#include <fstream>
using namespace std;
long aib[15001],x,i,c,a,b,n,m;
ifstream in ("datorii.in");
ofstream out ("datorii.out");
void update(int x,int p)
{
int i;
for(i=p; i<=n; i+=(i&(-i)))
{
aib[i]+=x;
}
}
long suma(int p)
{
int i,s=0;
for(i=p; i>0; i-=(i&(-i)))
{
s+=aib[i];
}
return s;
}
int main()
{
in>>n>>m;
for(i=1; i<=n; i++)
{
in>>x;
update(x,i);
}
for(i=1; i<=m; i++)
{
in>>c>>a>>b;
if(c==0)update(-b,a);
else
{
out<<suma(b)-suma(a-1)<<'\n';
}
}
return 0;
}