Pagini recente » Cod sursa (job #206698) | Cod sursa (job #1796706) | Cod sursa (job #2721944) | Cod sursa (job #2030425) | Cod sursa (job #2904295)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("datorii.in");
ofstream o("datorii.out");
int n, m, c, v[15002];
void update(int i, int x)
{
for (i; i < n + 1; i+=(i^(i-1))&i) {
v[i] += x;
}
}
int sum(int i)
{ int s = 0;
for (i; i; i-=(i^(i-1))&i) {
s += v[i];
}
return s;
}
int main()
{
int a, b;
f >> n >> m;
for (int i = 1; i <= n; i++)
{ f >> a;
update (i, a);
}
for (m; m > 0; m--)
{ f>>c>>a>>b;
if (c == 0) update (a, (-1)*b);
else o << sum(b) - sum(a-1) << '\n';
}
return 0;
}