Pagini recente » Cod sursa (job #2922280) | Cod sursa (job #176651) | Cod sursa (job #2315057) | Cod sursa (job #417963) | Cod sursa (job #1323944)
#include <iostream>
#include <fstream>
#define Nmax 15001
using namespace std;
ifstream fin ("datorii.in");
ofstream fout ("datorii.out");
int n,m;
int S[Nmax];
void update(int poz,int val)
{
int i;
for(i=poz;i<=n;i=i+(i&(-i)))
S[i]-=val;
}
int query(int poz)
{
int i,suma=0;
for(i=poz;i>0;i=i-(i&(-i)))
suma=suma+S[i];
return suma;
}
void read()
{
fin>>n>>m;
int x;
for(int i=1;i<=n;i++)
{
fin>>x;
update(i,-x);
}
for(int i=1;i<=m;i++)
{
int op,x,y;
fin>>op>>x>>y;
if(op==0) update(x,y);
if(op==1) fout<<query(y)-query(x-1)<<"\n";
}
}
int main()
{
read();
return 0;
}