Pagini recente » Cod sursa (job #2710029) | Cod sursa (job #2357105) | Cod sursa (job #2773979) | Cod sursa (job #837296) | Cod sursa (job #2373071)
#include <fstream>
using namespace std;
ifstream fin ("datorii.in");
ofstream fout ("datorii.out");
void ReadFunction();
long Query(int x, int y);
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(x, y) << '\n';
}
}
}
long Query(int x, int y)
{
long sum = 0;
for (int i = y; i >= x; 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;
}