Pagini recente » Cod sursa (job #3221474) | Cod sursa (job #668430) | Cod sursa (job #3289159) | Cod sursa (job #1758266) | Cod sursa (job #2907122)
#include <bits/stdc++.h>
using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
int n, m, zero[15001], aib[15001], x, y, c;
void add(int, int);
int compute(int);
int main()
{
f >> n >> m;
for (int i = 1; i <= n; i++) zero[i] = (i ^ (i - 1) & i);
for (int i = 1; i <= n; i++){
f >> x;
add(i, x);
}
for (int i = 1; i <= m; i++){
f >> c >> x >> y;
if(c) g << compute(y) - compute(x - 1) << '\n';
else add(x, -y) ;
}
return 0;
}
void add(int poz, int tot){
for (int i = poz; i <= n; i+= zero[i])
aib[i] += tot;
}
int compute(int poz)
{
int rez = 0;
for (int i = poz; i; i -= zero[i])
rez += aib[i];
return rez;
}