### acash's blog

By acash, history, 7 months ago, ,

I tried many test cases ,I am passing all of them But it is failing at test case 5 on codeforces. Since test case are quite large ,I am unable to figure out my error.Please forgive me if my question is not good. 55748387(My submission)

https://codeforces.com/contest/52/problem/C

• 0

 » 7 months ago, # |   +1 Change removelazy(node1, l, r) to removelazy(node1, start, end1)
•  » » 7 months ago, # ^ |   0 Still getting wrong ,should i check also if the node is lazy or not while answering the query? Because i am not checking
•  » » » 7 months ago, # ^ |   0 You need to use removelazy in your query function
 » 7 months ago, # |   0 I added the removelazy in query partI think there are many other issues in the implementation. I suggest you to check your implementation once again.
•  » » » 7 months ago, # ^ |   0 First of all you are consider 0 base indexing in your build() function so your left child is (node1 << 1) + 1 and right child is (node1 << 1) + 2 and your query() function is node query(int node1, int l, int r, int start, int end1) { if (tree[node1].lazy) { removelazy(node1, l, r); } node req; if (l > end1 || r < start)return req; if (l <= start && end1 <= r)return tree[node1]; int mid = (start + end1) >> 1; node a = query((node1 << 1), l, r, start, mid); node b = query((node1 << 1) + 1, l, r, mid + 1, end1); merge1(req, a, b); return req;}You do not consider if(tree[node1].lazy != 0) case in your query function