Pagini recente » Cod sursa (job #1974581) | Cod sursa (job #2813179) | Cod sursa (job #1432529) | Cod sursa (job #3164094) | Cod sursa (job #3133839)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
const int N = 15005;
int aib[N];
void Add(int x, int val)
{
for (int i = x; i <= N; i += i & -i)
aib[i] += val;
}
int sum(int x)
{
int s = 0;
for (int i = x; i >= 1; i -= i & -i)
s += aib[i];
return s;
}
int main()
{
int n, m, x, c, a, b;
f >> n >> m;
for (int i = 1; i <= n; ++i)
{
f >> x;
Add(i, x);
}
for (int i = 1; i <= m; ++i)
{
f >> c >> a >> b;
if (c == 0)
Add(a, -b);
else if (c == 1)
g << sum(b) - sum(a - 1) << '\n';
}
f.close();
g.close();
return 0;
}