Pagini recente » Cod sursa (job #68801) | Cod sursa (job #2618703) | Cod sursa (job #67149) | Produse | Cod sursa (job #307197)
Cod sursa(job #307197)
#include<iostream>
#include<fstream>
using namespace std;
int main(){
ifstream fin("datorii.in");
ofstream fout("datorii.out");
int m,n,A[15001],v[15001],s1,s2,O[3],x;
fin>>n>>m;
int i,j;
for (i=1;i<=n;i++){
fin>>A[i];
x=(i^(i-1))&i;
v[i]=0;
for (j=0;j<x;j++)
v[i]+=A[i-j];
}
for (i=0;i<m;i++){
fin>>O[0]>>O[1]>>O[2];
if (O[0]){
s1=0;
s2=0;
while (O[2]>0){
s1+=v[O[2]];
x=(O[2]^(O[2]-1))&O[2];
O[2]-=x;
}
x=0;
O[1]--;
while (O[1]>0){
s2+=v[O[1]];
x=(O[1]^(O[1]-1))&O[1];
O[1]-=x;
}
fout<<s1-s2<<'\n';
}
else{
while (O[1]<=n){
v[O[1]]-=O[2];
x=(O[1]^(O[1]-1))&O[1];
O[1]+=x;
}
}
}
}