Pagini recente » Cod sursa (job #1867541) | Cod sursa (job #436509) | Cod sursa (job #2352757) | Cod sursa (job #1863204) | Cod sursa (job #2043407)
#include <fstream>
#define DEF 15001
using namespace std;
ifstream fin ("datorii.in");
ofstream fout ("datorii.out");
int n, m, A[DEF];
void update (int p, int x) {
for (; p <= n; p += (p & -p)) {
A[p] += x;
}
}
long long querry (int p) {
long long r = 0;
for (; p; p -= (p & -p)) {
r += A[p];
}
return r;
}
long long querry_interval (int p1, int p2) {
if (p1 == 1) {
return querry (p2);
}
else {
return querry (p2) - querry (p1 - 1);
}
}
int main () {
fin >> n >> m;
for (int i = 1; i <= n; i++) {
int x;
fin >> x;
update (i, x);
}
for (int i = 1; i <= m; i++) {
int x, y, z;
fin >> x >> y >> z;
if (x == 0) {
update (y, -z);
}
if (x == 1) {
fout << querry_interval (y, z) << "\n";
}
}
return 0;
}