Pagini recente » Cod sursa (job #1127793) | Cod sursa (job #1027335) | Cod sursa (job #1068563) | Cod sursa (job #1348250) | Cod sursa (job #3291235)
#include <fstream>
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
int n,m;
const int MAXN = 100000;
long long aib[MAXN + 1],v[MAXN + 1];
long long query(int poz)
{
long long s;
s=0;
for(;poz>0;poz-=poz&-poz)
s=s+aib[poz];
return s;
}
void update(int poz, long long val) {
for (; poz <= n; poz += poz & -poz)
aib[poz] += val;
}
int main()
{
fin>>n>>m;
for(int i = 1; i <= n; i++)
{
fin >> v[i];
update(i, v[i]);
}
for (int i = 0; i < m; i++)
{
int op, x, y;
fin >> op >> x >> y;
if (op == 0)
update(x, -y);
else
fout<<query(y) - query(x - 1)<<'\n';
}
return 0;
}