Pagini recente » Cod sursa (job #1515013) | Cod sursa (job #359910) | Cod sursa (job #919446) | Cod sursa (job #922582) | Cod sursa (job #1141927)
#include <fstream>
using namespace std;
ifstream fin ("datorii.in");
ofstream fout ("datorii.out");
int n,m,x,y,op,v[15010],i,p;
int lsb (int i) {
return i&(-i);
}
void update (int poz, int x) {
for (int i=poz;i<=n;i+=lsb(i))
v[i]+=x;
}
long long query (int poz) {
long long sum=0;
for (int i=poz;i>=1;i-=lsb(i))
sum+=v[i];
return sum;
}
int main () {
fin>>n>>m;
for (i=1;i<=n;i++) {
fin>>x;
update (i,x);
}
while (m--) {
fin>>op>>x>>y;
if (op==0) {
update(x,-y);
}
else
fout<<query(y)-query(x-1)<<"\n";
}
return 0;
}