Pagini recente » Cod sursa (job #1061537) | Cod sursa (job #2041968) | Cod sursa (job #614264) | Cod sursa (job #590461) | Cod sursa (job #1253597)
#include <fstream>
#include <vector>
using namespace std;
ifstream is("datorii.in");
ofstream os("datorii.out");
int n, m;
int op;
int aib[15001];
int suma;
void Update(int poz, int v);
int Query(int poz);
int main()
{
is >> n >> m;
int v, x, y;
for(int i = 1; i <= n; ++i)
{
is >> v;
Update(i, v);
}
for(int i = 1; i <= m; ++i)
{
is >> op;
if(op == 1)
{
is >> x >> y;
os << Query(y) - Query(x-1) << '\n';
}
if(op == 0)
{
is >> x >> y;
y *= (-1);
Update(x, y);
}
}
is.close();
os.close();
return 0;
}
void Update(int poz, int v)
{
for(int i = poz; i <= n;i += i& -i)
aib[i] += v;
}
int Query(int poz)
{
suma = 0;
for(int i = poz; i; i -= i & -i)
suma += aib[i];
return suma;
}