Pagini recente » Cod sursa (job #330456) | Cod sursa (job #3204310) | Cod sursa (job #2725037)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
int a[15005];
int aib[15005];
int n,m;
int Query(int p)
{
int s=0;
while(p>=1)
{
s+=aib[p];
p-=(p&(-p));
}
return s;
}
void Update(int p,int x)
{
while(p<=n)
{
aib[p]+=x;
p+=(p&(-p));
}
}
int main()
{
fin>>n>>m;
for(int i=1;i<=n;i++)
{
fin>>a[i];
Update(i,a[i]);
}
for(int i=1;i<=m;i++)
{
int q,x,y;
fin>>q>>x>>y;
if(q==0)
{
a[x]-=y;
Update(x,-y);
}
else fout<<Query(y)-Query(x-1)<<"\n";
}
return 0;
}