Pagini recente » Cod sursa (job #2265854) | Cod sursa (job #355933) | Cod sursa (job #1550051) | Cod sursa (job #87316) | Cod sursa (job #2793060)
#include <bits/stdc++.h>
#define DIM 15005
#define zeros(x) (x & ( -x ))
using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
int n, m, aib[DIM];
void update(int poz, int val)
{
for(int i = poz; i <= n; i += zeros(i))
aib[i] += val;
}
int query(int poz)
{
int rez = 0;
for(int i = poz; i >= 1; i -= zeros(i))
rez += aib[i];
return rez;
}
int main()
{
f >> n >> m;
for(int i = 1; i <= n; i++)
{
int x;
f >> x;
update(i, x);
}
for(int i = 1; i <= m; i++)
{
int ops, x, y;
f >> ops >> x >> y;
if(ops == 1)
g << query(y) - query(x - 1) << "\n";
else
update(x, -y);
}
return 0;
}