Given an array of ‘N’ integers, I need to perform two kinds of queries :

- Point update : U P : Arr[u] = P
- Given a L,R,P I need to find the smallest number in the range [L,R] that is greater than P.

There are ‘Q’ queries.

This question was in a Hiring challenge on Hackerearth (Challenge is over now) so I can’t provide a link to the statement. I want to know if this problem can be solved with complexity better than Q*Log^2N