Pagini recente » Cod sursa (job #1907985) | Cod sursa (job #2888090) | Cod sursa (job #2373864) | Cod sursa (job #1346444) | Cod sursa (job #2019342)
#include <bits/stdc++.h>
using namespace std;
ifstream F("datorii.in");
ofstream G("datorii.out");
int n, m, x, q, a, b, aib[15005];
void upd(int pos, int val)
{
while(pos <= n)
{
aib[pos] += val;
pos += pos & (-pos);
}
}
int query(int pos)
{
int sum = 0;
while(pos > 0)
{
sum += aib[pos];
pos -= pos & (-pos);
}
return sum;
}
int main()
{
F >> n >> m;
for(int i = 1; i <= n; ++ i) F >> x, upd(i, x);
while(m--)
{
F >> q >> a >> b;
if(q) G << query(b) - query(a-1) << '\n';
else upd(a, -b);
}
return 0;
}