Pagini recente » Cod sursa (job #2593925) | Cod sursa (job #1024775) | Cod sursa (job #3214760) | Cod sursa (job #1584724) | Cod sursa (job #2624265)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("datorii.in");
ofstream g ("datorii.out");
int v[15100];
int n;
int t(int x)
{
return x & (-x);
}
void inserare(int x, int y)
{
for (int i = x; i <= n; i += t(i))
{
v[i] += y;
}
}
int suma (int x)
{
int s = 0;
for (int i = x; i > 0; i -= t(i))
{
s += v[i];
}
return s;
}
int main()
{
int m, nr, k, x, y;
f >> n >> m;
for (int i = 1; i <= n; ++i)
{
f >> nr;
inserare(i, nr);
}
for (int i=0; i < m; i++)
{
f >> k >> x >> y;
if (k == 0)
{
inserare(x, -y);
}
if (k == 1)
{
g << suma(y) - suma(x - 1) << "\n";
}
}
return 0;
}