Pagini recente » Cod sursa (job #780614) | Cod sursa (job #1505461) | Cod sursa (job #2020494) | Cod sursa (job #1087461) | Cod sursa (job #2370156)
#include <bits/stdc++.h>
#define NMAX 150010
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
int n, m, t, v, p, q, b;
int a[NMAX];
void add(int pos, int val)
{
while(pos <= n)
{
a[pos] += val;
pos += pos&(-pos);
}
}
int query()
{
int sol=0;
while(q>0)
{
sol += a[q];
q -= q&(-q);
}
p--;
while(p>0)
{
sol -= a[p];
p -= p&(-p);
}
return sol;
}
int main()
{
fin >> n >> m;
for(int i = 1; i<= n; i++)
{
fin >> p;
add(i, p);
}
for(int i = 1; i <= m; i++)
{
fin >> b >> p >> q;
if(b == 0)
add(p, -q);
else
fout << query() << "\n";
}
return 0;
}