Pagini recente » Cod sursa (job #2681652) | Cod sursa (job #1874186) | Cod sursa (job #112520) | Cod sursa (job #1479998) | Cod sursa (job #1260167)
#include <fstream>
using namespace std;
int aib[15005], n;
void update(int poz, int valoare)
{
for (; poz <= n; poz += poz & (poz - 1) ^ poz)
aib[poz] += valoare;
}
int query(int poz)
{
int s = 0;
for (; poz <= n; poz -= poz & (poz - 1) ^ poz)
s += aib[poz];
return s;
}
int main()
{
int m, x, a, b, c, i;
ifstream cin ("datorii.in");
ofstream cout ("datorii.out");
cin >> n >> m;
for (i=1; i<=n; i++)
{
cin >> x;
update (i, x);
}
for (i=1; i<=n; i++)
{
cin >> a >> b >> c;
if (a)
cout << query (c) - query (b-1) << "\n";
else
update (b, -c);
}
}