Pagini recente » Cod sursa (job #1332983) | Cod sursa (job #1524642) | Cod sursa (job #1160425) | Cod sursa (job #1548637) | Cod sursa (job #2284562)
#include <fstream>
using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
int n,m,i,j,x,aib[16000],a,b,c;
void adaug(int i,int x)
{
for(int j=i;j<=n;j+=(j&(-j)))
aib[j]+=x;
}
int sum(int i)
{
int s=0;
for(int j=i;j>0;j-=(j&(-j)))s=s+aib[j];
return s;
}
int main()
{
f>>n>>m;
for(i=1;i<=n;i++)
{
f>>x;
adaug(i,x);
}
for(i=1;i<=m;i++)
{
f>>a>>b>>c;
if(a==0){adaug(b,-c);}
else{g<<sum(c)-sum(b-1)<<'\n';}
}
return 0;
}