Pagini recente » Cod sursa (job #2226554) | Cod sursa (job #1015750) | Cod sursa (job #1346667) | Cod sursa (job #431458) | Cod sursa (job #2108296)
#include <fstream>
using namespace std;
ifstream fin ("datorii.in");
ofstream fout ("datorii.out");
int n,m,p,q,t,val,A[15001],x,op;
void update(int p, int val)
{
for (int i=p; i<=n; i+=(i&-i))
A[i] += val;
}
int query(int p)
{
int sol = 0;
for (int i=p; i>=1; i-=(i&-i))
sol += A[i];
return sol;
}
int main ()
{
fin >> n >> m;
for (int i=1; i<=n; i++)
{
fin >> x;
update(i, x);
}
for (;m--;)
{
fin >> op;
if (op == 0)
{
fin >> t >> val;
update(t, -val);
}
else
{
fin >> p >> q;
fout << query(q)-query(p-1) << "\n";
}
}
return 0;
}