Pagini recente » Cod sursa (job #812588) | Cod sursa (job #396542) | Cod sursa (job #2896158) | Cod sursa (job #635189) | Cod sursa (job #61529)
Cod sursa(job #61529)
#include<fstream.h>
long long a[15000],n,m,t,v,i,u,j,s,k,x;
int query(int x)
{
int r=0;
for (; x;x-=x&(x-1)^x)
r+=a[x];
return r;
}
void update(int x,int v)
{
for(;x<=n;x+=x^(x-1)&x)
a[x]+=v;
}
int main()
{
ifstream f("datorii.in");
ofstream g("datorii.out");
f>>n>>m;
for(i=1;i<=n;i++)
f>>a[i];
for(i=1;i<=m;i++)
{
f>>u>>t>>v;
s=-x;
if(u==0)
{
a[t]=a[t]-v;
k=k+query(t);
}
else
{
for(j=t;j<=v;j++)
s=s+query(j);
g<<s-query(t-1)<<"\n";
k=k+query(t-1);
}
if(i==1)
x=k;
}
return 0;
}