Pagini recente » Cod sursa (job #2135891) | Cod sursa (job #2797568) | Monitorul de evaluare | Cod sursa (job #1123742) | Cod sursa (job #1990263)
#include <fstream>
using namespace std;
ifstream fi("datorii.in");
ofstream fo("datorii.out");
int a[15001],n,m;
void Update(int x,int v)
{
for(int i = x; i <= n; i+= i & -i)
a[i]+=v;
}
int Query(int x)
{
int s=0;
for(int i = x; i >= 1 ; i-= i & -i)
s+=a[i];
return s;
}
int main()
{
fi>>n>>m;
for(int i=1,v; i<=n; i++)
{
fi>>v;
Update(i,v);
}
int x,y,c;
for(int i=1;i<=m; i++)
{ fi>>c>>x>>y;
if(c==0) Update(x,-y);
if(c==1) fo<<Query(y)-Query(x-1)<<'\n';
}
return 0;
}