Need solution to this problem in c++ → SPREAD Problem - CodeChef
Here is my code:
class F{
public:
int size;
vector arr;
F(int c, int n){
size=n+1;
arr.assign(size, c);
}
void add(int i, int val){
for(++i; i<size; i+=i&-i){
arr[i]+=val;
}
}
void range(int u, int v, int k){
add(u, k);
add(v+1, -k);
}
int heap(int p){
return arr[p];
}
};
int main(){
int n, m, c; cin>>n>>m>>c;
F t(n,c);
while(m--){
char q; cin>>q;
if(q=='S'){
int u, v, k; cin>>u>>v>>k;
t.range(u, v, k);
}
else if(q=='Q'){
int p; cin>>p;
cout<<t.heap(p)<<endl;
}
}
return 0;
}