Pagini recente » Cod sursa (job #20609) | Cod sursa (job #1793136) | Cod sursa (job #658658) | Cod sursa (job #2550593) | Cod sursa (job #3247146)
#include <fstream>
using namespace std;
ifstream in;
ofstream out;
int n, m, aib[15005];
void update(int i, int x)
{
while (i <= n)
{
aib[i] += x;
i += i & -i;
}
}
int sp(int i)
{
int r = 0;
while (i > 0)
{
r += aib[i];
i -= i & -i;
}
return r;
}
int main()
{
in.open("datorii.in");
out.open("datorii.out");
in >> n >> m;
for (int i = 1; i <= n; i++)
{
int x;
in >> x;
update(i, x);
}
for (int i = 0; i < m; i++)
{
int c, a, b;
in >> c >> a >> b;
if (c == 0)
{
update(a, -b);
}
if (c == 2)
{
out << sp(b) - sp(a-1) << "\n";
}
}
return 0;
}