Pagini recente » Cod sursa (job #2444078) | Cod sursa (job #3279567) | Cod sursa (job #422370) | Cod sursa (job #2481722) | Cod sursa (job #512618)
Cod sursa(job #512618)
#include <fstream>
#define zeros(x) ((x^(x-1))&x)
using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
int aib[15010],n,m,a[15010];
void add(int i, int val)
{
for(;i<=n;i+=zeros(i))
aib[i]-=val;
}
int query(int i)
{
int s=0;
for(;i>0;i-=zeros(i))
s+=aib[i];
return s;
}
int main()
{
f>>n>>m;
for(int i=1;i<=n;i++)
{
f>>a[i];
add(i,-a[i]);
}
for(int i=1;i<=m;i++)
{
int opt,a,b;
f>>opt>>a>>b;
if(opt)
{
g<<query(b)-query(a-1)<<'\n';
}
else
add(a,b);
}
return 0;
}