Pagini recente » Cod sursa (job #1517632) | Cod sursa (job #351942) | Cod sursa (job #2407019) | Cod sursa (job #2488977) | Cod sursa (job #2339911)
#include <fstream>
#define MAXN 15005
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
int N, aib[MAXN];
inline void Update(int poz, int x) {
for (int j = poz; j <= N; j += j & (-j))
aib[j] += x;
}
inline int Query(int poz) {
int sum = 0;
for (int j = poz; j > 0; j -= j & (-j))
sum += aib[j];
return sum;
}
inline void Read() {
int M, x, tip, a, b;
fin >> N >> M;
for (int i = 1; i <= N; i++) {
fin >> x;
Update(i, x);
}
while (M--) {
fin >> tip >> a >> b;
if (tip == 0) {
Update(a, -b);
}
else {
fout << Query(b) - Query(a - 1) << "\n";
}
}
}
int main () {
Read();
fin.close(); fout.close(); return 0;
}