Pagini recente » Cod sursa (job #924704) | Cod sursa (job #430709) | Cod sursa (job #921765) | Cod sursa (job #320600) | Cod sursa (job #2809331)
#include <fstream>
#define N_MAX 15010
#define bit(x) (x & (-x))
using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
int n, m, i, j, x, y, c, aib[N_MAX];
static inline void Update(int x, int val)
{
for (int i = x; i <= n; i += bit(i))
aib[i] += val;
}
static inline int Query(int x)
{
int s = 0;
for (int i = x; i >= 1; i -= bit(i))
s += aib[i];
return s;
}
int main()
{
f >> n >> m;
for (i = 1; i <= n; ++i)
{
f >> x;
Update(i, x);
}
for (i = 1; i <= m; ++i)
{
f >> c >> x >> y;
if (c == 0)
Update(x, -y);
else
g << Query(y) - Query(x - 1) << '\n';
}
return 0;
}