Pagini recente » Cod sursa (job #2192145) | Cod sursa (job #2281040) | Cod sursa (job #2483414) | Cod sursa (job #2371514) | Cod sursa (job #2904246)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
int arb[400001], n;
void modificare(int p, int x)
{
for(int i = p; i <= n; i+= i&(-i))
arb[i] += x;
}
int suma(int p)
{
int sum = 0;
for(int i = p;i > 0;i -= i&(-i))
sum+= arb[i];
return sum;
}
int main()
{
int m, x, operatie, nr1, nr2;
f>>n>>m;
for(int i=1;i<=n;i++)
{
f>>x;
modificare(i, x);
}
for(int i=1; i<=m; i++)
{
f>>operatie>>nr1>>nr2;
if(!operatie)
modificare(nr1,-nr2);
else
{
g<<suma(nr2)-suma(nr1-1)<<endl;
}
}
return 0;
}