Pagini recente » Cod sursa (job #156352) | Cod sursa (job #460396) | Cod sursa (job #2428026) | Cod sursa (job #2918937) | Cod sursa (job #2373091)
#include <fstream>
using namespace std;
ifstream fin ("datorii.in");
ofstream fout ("datorii.out");
void ReadFunction();
long Query(int x);
void Update(int x, int y);
const int maxn = 15001;
int a[maxn], n, m;
int main()
{
ReadFunction();
}
void ReadFunction()
{
fin >> n >> m;
int x;
for (int i = 1; i <= n; ++i)
{
fin >> x;
Update(x, i);
}
int q, y;
for (int i = 1; i <= m; ++i)
{
fin >> q >> x >> y;
if (!q)
{
Update(-y, x);
}
else
{
fout << Query(y) - Query(x - 1) << '\n';
}
}
}
long Query(int x)
{
long sum = 0;
for (int i = x; i >= 1; i -= i & -i)
sum += a[i];
return sum;
}
void Update(int x, int y)
{
for (int i = y; i <= n; i += i & -i)
a[i] += x;
}