Pagini recente » Cod sursa (job #792484) | Cod sursa (job #1171428) | Cod sursa (job #1288829) | Cod sursa (job #387727) | Cod sursa (job #1788804)
#include <fstream>
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
const int N = 15010;
int n, m, a[N], i, t, x, y;
inline int lsb(int x){
return x & (-x);
}
void update(int p, int v) {
while (p <= n) {
a[p] += v;
p += lsb(p);
}
}
int querry(int p) {
int s = 0;
while (p > 0) {
s += a[p];
p -= lsb(p);
}
return s;
}
int main(){
fin >> n >> m;
for(i = 1; i <= n; ++i) {
fin >> x;
update(i, x);
}
for(i = 1; i <= m; ++i) {
fin >> t >> x >> y;
if (t == 0)
update(x, -y);
else
fout << querry(y) - querry(x - 1) << "\n";
}
return 0;
}