Pagini recente » Cod sursa (job #1886661) | Cod sursa (job #128677) | Cod sursa (job #2857921) | Cod sursa (job #1399734) | Cod sursa (job #2701068)
#include <bits/stdc++.h>
using namespace std;
ifstream f ("datorii.in");
ofstream g ("datorii.out");
int x[100005];
int n;
int q;
void update(int poz,int val)
{
int i=poz;
while(i<=n)
{
x[i]+=val;
i+=(i & (- i));
}
}
int query(int poz)
{
int i=poz;
int val=0;
while(i>0)
{
val+=x[i];
i-=(i & (-i));
}
return val;
}
int main()
{
f>>n>>q;
for(int i=1;i<=n;++i)
{
int val;
f>>val;
update(i,val);
}
for(int qu=1;qu<=q;++qu)
{
int tip,a,b;
f>>tip>>a>>b;
if(tip==0)
update(a,-b);
else
{
g<<query(b)-query(a-1)<<"\n";
}
}
return 0;
}