Pagini recente » Cod sursa (job #470546) | Cod sursa (job #739361) | Cod sursa (job #1955292) | Cod sursa (job #449116) | Cod sursa (job #425998)
Cod sursa(job #425998)
#include<iostream.h>
#include<fstream.h>
fstream f("datorii.in",ios::in);
fstream g("datorii.out",ios::out);
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 )
{f>>a; update(i, a);}
for ( int i = 1; i <= m; ++i )
{
f>>a>>c>>d;
if ( a )
g<<query(d) - query(c-1)<<endl;
else
update(c, -d);
}}
int main()
{f>>n>>m;
goAIB();
return 0;}