Pagini recente » Cod sursa (job #1506905) | Cod sursa (job #983444) | Cod sursa (job #2770102) | Cod sursa (job #344653) | Cod sursa (job #287409)
Cod sursa(job #287409)
using namespace std;
#include<cstdio>
int H[100000],n;
void update(int poz,int val)
{
for(poz;poz<=n;poz+=poz & -poz) H[poz]-=val;
}
int sum(int poz)
{
int s=0;
for(poz;poz;poz-=poz &-poz) s+=H[poz];
return s;
}
int main()
{
int i,m,k,x,y,a;
freopen("datorii.in","r",stdin);
freopen("datorii.out","w",stdout);
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)
{
scanf("%d",&a);
x=i;
update(x,-a);
}
for(i=0;i<m;i++)
{
scanf("%d%d%d",&k,&x,&y);
if(k) printf("%d\n",sum(y)-sum(x-1));
else update(x,y);
}
return 0;
}