Pagini recente » Cod sursa (job #1695063) | Cod sursa (job #1935663) | Cod sursa (job #1695018) | Cod sursa (job #2193540) | Cod sursa (job #3339208)
#include <fstream>
using namespace std;
ifstream cin("datorii.in");
ofstream cout("datorii.out");
int aib[15001];
int n , m , v[15001];
void update(int poz , int val)
{
while(poz <= n)
{
aib[poz] += val;
poz += (poz & (-poz));
}
}
int a, b, c;
int query(int poz)
{
int sum = 0;
while(poz > 0)
{
sum += aib[poz];
poz -= (poz & (-poz));
}
return sum;
}
int main()
{
cin >> n >> m;
for(int i=1;i<=n;i++)
{
cin >> v[i];
update (i , v[i]);
}
for(int i=1;i<=m;i++)
{
cin >> a >> b >> c;
if(a == 0)
{
update (b , -c);
}
else cout << query(c) - query(b-1) << '\n';
}
return 0;
}