Pagini recente » Cod sursa (job #2610195) | Cod sursa (job #1832546) | Cod sursa (job #2154545) | tastaturi_qwerykey | Cod sursa (job #2152719)
#include <fstream>
#define MAXN 20005
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
int aib[MAXN * 4], N;
inline void Update(int poz, int val) {
for (int i = poz; i <= N; i += i & (-i)) {
aib[i] += val;
}
}
inline int Query(int a, int b) {
int s = 0;
for (int i = b; i; i -= i & (-i)) {
s += aib[i];
}
for (int i = a - 1; i; i -= i & (-i)) {
s -= aib[i];
}
return s;
}
inline void Read() {
int M, tip, x, y;
fin >> N >> M;
for (int i = 1; i <= N; i++) {
fin >> x;
Update(i, x);
}
while (M--) {
fin >> tip >> x >> y;
if (tip == 0) {
Update(x, -y);
}
else {
fout << Query(x, y) << "\n";
}
}
}
int main () {
Read();
fin.close(); fout.close(); return 0;
}