Pagini recente » Cod sursa (job #1279297) | Cod sursa (job #1348805) | Cod sursa (job #742898) | Cod sursa (job #2460712) | Cod sursa (job #2721525)
#include <fstream>
#define dim 15010
using namespace std;
int a[dim];
int i,n,m,x,t,poz,val,st,dr;
void setup (int poz, int val) {
for (;poz<=n;poz+=poz&-poz) {
a[poz]+=val;
}
}
void update (int poz, int val) {
for (;poz<=n;poz+=poz&-poz) {
a[poz]-=val;
}
}
int query (int poz) {
int sol=0;
for (int i=poz;i>=1;i-=i&-i) {
sol+=a[i];
}
return sol;
}
int main() {
ifstream fin("datorii.in");
ofstream fout("datorii.out");
fin>>n>>m;
for (i=1;i<=n;i++) {
fin>>x;
setup(i,x);
}
for (;m--;) {
fin>>t;
if (t==0) {
fin>>poz>>val;
update(poz,val);
}
else {
fin>>st>>dr;
fout<<query(dr)-query(st-1)<<"\n";
}
}
return 0;
}