Pagini recente » Cod sursa (job #3226428) | Cod sursa (job #258005) | Cod sursa (job #2830975) | Cod sursa (job #1844068) | Cod sursa (job #2124276)
#include <bits/stdc++.h>
#define NMax 100006
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
int aib[NMax], n, m, k;
void Update(int p, int x)
{
for(int i = p; i <= n; i += (i & (-i)))
aib[i] += x;
}
int Query(int p)
{
int s = 0;
for(int i = p; i >= 1; i -= (i & (-i)))
s += aib[i];
return s;
}
void Citire()
{
int i, x, y, opt;
fin >> n >> k;
for(i = 1; i <= n; i++)
{
fin >> x;
Update(i, x);
}
for(i = 1; i <= k; i++)
{
fin >> opt;
if(opt == 0)
{
fin >> x >> y;
Update(x, -y);
}
else
{
fin >> x >> y;
fout << Query(y) - Query(x - 1) << "\n";
}
}
}
int main()
{
Citire();
return 0;
}