Pagini recente » Cod sursa (job #2002473) | Cod sursa (job #150914) | Cod sursa (job #956721) | Cod sursa (job #114465) | Cod sursa (job #2029348)
#include <bits/stdc++.h>
using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
#define zeros(x) (x&(-x))
int n, m, AIB[1004], ss, q, t, v;
void add(int x, int hm)
{
for(int i=x; i<=n; i+=zeros(i))
{
AIB[i]+=hm;
}
}
int calc(int x)
{
int i, sum=0;
for(i=x; i>=1; i-=zeros(i))
sum+=AIB[i];
return sum;
}
int main()
{
f>>n>>m;
for(int i=1; i<=n; i++)
{
f>>ss;
add(i, ss);
}
/*for(int i=1; i<=n; i++)
{
cout<<AIB[i]<<' ';
}*/
for(int i=1; i<=m; i++)
{
f>>q>>t>>v;
if(q==1)
{
g<<calc(v)-calc(t-1)<<'\n';
}
if(q==0)
{
add(t, -v);
}
}
return 0;
}