Pagini recente » Cod sursa (job #843812) | Cod sursa (job #856537) | Cod sursa (job #514523) | Cod sursa (job #336524) | Cod sursa (job #2604418)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
const int nmax=15005;
int n,m,a[nmax],aib[nmax];
void read()
{
fin>>n>>m;
for(int i=1;i<=n;i++)
fin>>a[i];
}
void update(int val,int poz)
{
for(;poz<=n;poz+= poz & -poz)
aib[poz]+=val;
}
int query(int poz)
{
int ans=0;
for(;poz>0;poz-= poz & -poz)
ans+=aib[poz];
return ans;
}
void solve()
{
for(int i=1;i<=n;i++)
update(a[i],i);
for(int i=1;i<=m;i++)
{
int op;
fin>>op;
if(!op)
{
int t,v;
fin>>t>>v;
update(-v,t);
}
else
{
int p,q;
fin>>p>>q;
fout<<query(q)-query(p-1)<<"\n";
}
}
}
int main()
{
read();
solve();
return 0;
}