program in c++ that given an array of points, count the number of points that lie above each one point (divide and conquer) [closed]

  algorithm, analysis, c++

i need to make a program very similar to closest point problem in c++ i aint got an idea from where to start. i need to count the "strength" of every point in an array, where strength is defined as:
a point (p_1,p_2) take over a point (q_1,q_2) if p_1 <= q_1 and p_2 <= q_2, the strength of a point is then the number of points that the point is taking over.
i just know that before starting my solution i have to order the array by x and by y, then divide the array in two pieces and recursively count the strength of each point, the right side is gonna be done but the with left side i have to find an efficient way to count the the number of points that lie in the right side that are being taken over by the points in left side, my program has to solved in O(NlogN) and using divide and conquer, i can’t really come up with an idea to make it efficient, please i just need help with the ideas i can come up with the code.

Source: Windows Questions C++