Pagini recente » Cod sursa (job #2802659) | Cod sursa (job #2663426) | Cod sursa (job #575582) | Cod sursa (job #2957467) | Cod sursa (job #2662339)
#include <bits/stdc++.h>
using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
int n,m,AIB[15005];
void Update(int x1,int x)
{
for(int i=x1;i<=n;i+=i^(i-1)&i)
AIB[i]+=x;
}
int Query(int x)
{
int rez=0;
for(int i=x;i;i-=i^(i-1)&i)
rez+=AIB[i];
return rez;
}
int main()
{
int x;
f>>n>>m;
for(int i=1;i<=n;i++)
f>>x,Update(i,x);
while(m--)
{
int cer,a,b;
f>>cer>>a>>b;
assert(cer==1||cer==0);
if(cer)
g<<Query(b)-Query(a-1)<<'\n';
else Update(a,-b);
}
return 0;
}