Pagini recente » Cod sursa (job #1436950) | Cod sursa (job #2278666) | Cod sursa (job #643258) | Cod sursa (job #2251882) | Cod sursa (job #672265)
Cod sursa(job #672265)
#include<fstream>
#define zeros(x) (x&(-x))
using namespace std;
ifstream g("datorii.in");
ofstream h("datorii.out");
int a[100010];
int sum ( int nr )
{
int s = 0, i;
for ( i = nr; i >= 1; i -= zeros(i) )
s += a[i];
return s;
}
void achita ( int i, int cant, int n )
{
for ( int j = i; j <= n; j += zeros(j) )
a[j] += cant;
}
int main()
{
int n, m, i, t, v, x;
bool vd;
g >> n >> m;
for ( i = 1; i <= n; i++ )
{
g >> x;
achita ( i,x,n );
}
for ( i = 1; i <= m; i++ )
{
g >> vd >> t >> v;
if ( vd )
{
h << sum ( v ) - sum ( t-1 ) << '\n';
}
if ( !val )
{
achita ( t,-v,m );
}
}
g.close();
h.close();
return 0;
}