Pagini recente » Cod sursa (job #2543632) | Cod sursa (job #2516702) | Cod sursa (job #3135321) | Cod sursa (job #3189730) | Cod sursa (job #370400)
Cod sursa(job #370400)
#include <fstream>
using namespace std;
ifstream fi("datorii.in");
ofstream fo("datorii.out");
int N,M,aib[16010];
inline int bit(int x){
return (x & (x-1))^x;
}
void add(int poz,int s){
for (;poz<=N;poz+=bit(poz)) aib[poz]+=s;
}
int query(int poz){
int rez=0;
for (;poz;poz-=bit(poz)) rez+=aib[poz];
return rez;
}
int main(){
fi>>N>>M;
int x,y,z;
for (int i=1;i<=N;++i){
fi>>x;
add(i,x);
}
for (int i=1;i<=M;++i){
fi>>x>>y>>z;
if (x==0) add(y,-z); else fo<<query(z)-query(y-1)<<"\n";
}
fi.close();fo.close();
return 0;
}