Pagini recente » Cod sursa (job #1752678) | Cod sursa (job #447627) | Cod sursa (job #1312629) | Cod sursa (job #1574811) | Cod sursa (job #426014)
Cod sursa(job #426014)
#include<cstdio>
FILE *in = fopen("datorii.in","r"), *out = fopen("datorii.out","w");
int n, m;
int b[15000];
int query(int x)
{int r = 0;
while ( x )
r += b[x], x -= (x&(x-1))^x;
return r;
}
void update(int x, int val)
{
while ( x <= n )
b[x] += val, x += (x&(x-1))^x;
}
void goAIB()
{
int a, c, d;
for ( int i = 1; i <= n; ++i )
{fscanf(in,"%d",&a); update(i, a);}
for ( int i = 1; i <= m; ++i )
{
fscanf(in,"%d %d %d",&a ,&c, &d);
if ( a )
fprintf(out,"%d/n",query(d) - query(c-1));
else
update(c, -d);
}}
int main()
{fscanf(in,"%d %d",&n, &m);
goAIB();
return 0;}