I don’t think you are getting TLE because of an error in your code but more about this being a very computationally expensive problem. Note that if n=10^5 and all coordinates are 2*10^9 then that means that input is huge. You are also doing a lot of computations when doing the binary search(this is probably the thing that is the most expensive), so everything is going to take a lot of time. There is however a simple solution.
One very important thing working with python, is to use pypy instead of python(cpython). They are both python interpreters and run the same code but pypy usually runs much much quicker, especially on these kind of brute force problems.
Even though I’m a python programmer I almost never use python(cpython) as it is super slow, instead I use pypy. The only problem with using pypy on codechef is that codechef only supports pypy2 and not pypy3, but the difference between python 2 and python 3 isn’t that big, so it isn’t that big of a problem.
When I tried running your code in pypy I got accepted with everything running under 1s.