Pagini recente » Cod sursa (job #2437542) | Cod sursa (job #1949447) | Cod sursa (job #3326358) | Monitorul de evaluare | Cod sursa (job #3352484)
#include <fstream>
#define zeros(x) (x^(x-1)&x)
using namespace std;
int v[15001];
int n, m;
void add(int x, int val) {
for(int i = x; i <= n; i += zeros(i))
v[i] += val;
}
int sum(int x) {
int s = 0;
for(int i = x; i; i -= zeros(i))
s+= v[i];
return s;
}
int main() {
ifstream fin("datorii.in");
ofstream fout("datorii.out");
fin>>n>>m;
int a, b, c;
for(int i = 1 ; i <= n; i++) {
fin>>a;
add(i, a);
}
for(int i = 1 ; i <= m; i++) {
fin>>a>>b>>c;
if(a==0) {
add(b, -c);
}
else {
fout<<sum(c) - sum(b-1)<<"\n";
}
}
return 0;
}