Problem link: https://cses.fi/problemset/task/1163
Hello, I am using an interval tree to solve this problem but for 2 test-cases my solution are timing out. I have provided a drawing for the sample input given in the problem description.
0-8 / \ / \ / \ 0-3 3-8 / \ / \ / \ / \ 0-2 2-3 3-6 6-8
Each time, I am adding a new interval I am returning the max diff of intervals to the root node and returning it as an answer
Could you please help me
Process the queries reversely.
can you please provide an example?
Removing a light merges two segments into one.
Adding 2 to
0-2 2-3 3-6
results in0-3 3-6
. Just store the split points.As a note, processing the queries in order also works, but you need an extra ordered data structure (such as a priority queue) to maintain the segments.