Pagini recente » Cod sursa (job #419692) | Cod sursa (job #2450220) | Cod sursa (job #598024) | Cod sursa (job #208127) | Cod sursa (job #2558694)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
const int NMax = 15005;
int n, m;
int sume[NMax];
void modSuma(int pos, int val)
{
while(pos <= n)
{
sume[pos] += val;
pos += pos & -pos;
}
}
void read()
{
fin >> n >> m;
int val;
for(int i = 1; i <= n; i++)
{
fin >> val;
modSuma(i, val);
}
}
int suma(int p)
{
int s = 0;
while(p > 0)
{
s += sume[p];
p -= p & -p;
}
return s;
}
int main()
{
read();
int cod, a, b;
for(int i = 0; i < m; i++)
{
fin >> cod >> a >> b;
if(cod == 0)
modSuma(a, -b);
else
fout << suma(b) - suma(a - 1) << '\n';
}
}