Pagini recente » Cod sursa (job #1954144) | Cod sursa (job #860739) | Cod sursa (job #1609201) | Cod sursa (job #2289563) | Cod sursa (job #552155)
Cod sursa(job #552155)
#include <stdio.h>
#define maxn 15005
int datorie[maxn];
int n;
void modifica(int , int);
int suma(int);
int main(void)
{ int i,k,x,y,m;
freopen("datorii.in","r",stdin);
freopen("datorii.out","w",stdout);
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)
scanf("%d",&x), modifica(i,-x);
for(; m; m--)
{ scanf("%d%d%d",&k,&x,&y);
if(k==0) modifica(x,y);
else printf("%d\n",suma(y)-suma(x-1));
}
return 0;
}
void modifica(int poz,int val)
{
for(; poz<=n; poz+=((poz^(poz-1))&poz) )
datorie[poz]-=val;
}
int suma(int poz)
{
int s=0;
for(; poz>0; poz-=((poz^(poz-1))&poz) )
s+=datorie[poz];
return s;
}