Pagini recente » Cod sursa (job #549817) | Cod sursa (job #3041986) | Cod sursa (job #2442652) | Cod sursa (job #1353717) | Cod sursa (job #188472)
Cod sursa(job #188472)
#include<cstdio>
using namespace std;
long n,m,t[15005],a[15005];
typedef long long l;
void upd(long i,long x)
{
for(;i<=n;i+=i&-i)
t[i]+=x;
}
l sum(long i)
{
l s=0;
for(;i;i-=i&-i)
s+=t[i];
return s;
}
void rd()
{
scanf("%ld%ld",&n,&m);
long i;
for(i=1;i<=n;i++)
{
scanf("%ld",&a[i]);
upd(i,a[i]);
}
long p,x,y;
for(i=1;i<=m;i++)
{
scanf("%ld%ld%ld",&p,&x,&y);
if(p==0)
upd(x,-y);
else
printf("%lld\n",sum(y)-sum(x-1));
}
}
int main()
{
freopen("datorii.in","r",stdin);
freopen("datorii.out","w",stdout);
rd();
return 0;
}