Pagini recente » Cod sursa (job #2626385) | Cod sursa (job #2445060) | Cod sursa (job #2082554) | Cod sursa (job #258811) | Cod sursa (job #2704647)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
int n, m, aib[100005];
void Update(int poz, int x)
{
while (poz <= n)
{
aib[poz] += x;
poz += (poz & (-poz));
}
}
int Query(int poz)
{
int s = 0;
while (poz > 0)
{
s += aib[poz];
poz -= (poz & (-poz));
}
return s;
}
int main()
{
int i,op,a,b,x;
fin >> n >> m;
for (i = 1; i <= n; i++)
{
fin >> x;
Update(i, x);
}
for (i = 1; i <= m; i++)
{
fin >> op >> a >> b;
if (op == 0)
Update(a, -b);
else
fout << Query(b) - Query(a - 1) << "\n";
}
return 0;
}