Pagini recente » Cod sursa (job #2476037) | Cod sursa (job #673371) | Cod sursa (job #827485) | Cod sursa (job #2628099) | Cod sursa (job #1248192)
// datorii.cpp : Defines the entry point for the console application.
//
//#include "stdafx.h"
#include <fstream>
#define NMAX 15010
using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
int n, m, a[NMAX];
inline int ultim(int x)
{
return (x ^ (x - 1))&x;
}
void Update(int pozitie, int val)
{
int i;
for (; pozitie <= n; pozitie += ultim(pozitie))
a[pozitie] += val;
}
int Query(int pozitie)
{
int sum = 0;
for (; pozitie > 0; pozitie -= ultim(pozitie)) sum += a[pozitie];
return sum;
}
void Citeste()
{
int x, i;
f >> n >> m;
for (i = 1; i <= n; ++i)
{
f >> x;
Update(i, x);
}
}
void Solve()
{
int op, x, y;
while (m--)
{
f >> op >> x >> y;
if (op) g << Query(y) - Query(x - 1) << "\n";
else Update(x, -y);
}
}
int main()
{
Citeste();
Solve();
return 0;
}