Pagini recente » Cod sursa (job #1572925) | Cod sursa (job #1345580) | Cod sursa (job #2264517) | Cod sursa (job #1322375) | Cod sursa (job #3173524)
#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;
#define MOD 1000000007
ifstream fin("datorii.in");
ofstream fout("datorii.out");
int k;
int n,m;
int a[16001];
int main()
{
fin >> n >> m;
for(int i=1;i<=n;i++)
{
fin >> a[i];
}
for(int i=1;i<=n;i++)
{
if(i+(i&-i) <= n)
{
a[i+(i&-i)]+=a[i];
}
}
while(m--)
{
int x;
fin >> x;
if(!x)
{
int t,v;
fin >>t >> v;
for(int i=t;i<=n;i+=(i&-i))
{
a[i]-=v;
}
}
else
{
int l,r;
fin >> l >> r;
int res=0;
for(int i=r;i>=1;i-=(i&-i))
{
res += a[i];
}
for(int i=l-1;i>=1;i-=(i&-i))
{
res -= a[i];
}
fout << res << '\n';
}
}
}