Find the point where maximum intervals overlap
Consider a big party where the log register for guest's entry and exit times is maintained.
Find the time at which there is maximum guests in the party. Note that entries in register are not in any order.
1. Use merge sorted arrays technic
2. If it is arrival, then count + 1
3. If it is departure, then count - 1
4. Find the maximum for each iteration
int getMaxCount(vector<int> arr, vector<int> dep){
    const int len = arr.size(); 
    int i=0, j=0;
    int count = 0;
    int max = 0;
    vector<int> marr;

    while(i < len || j < len){
        if(i >= len){
            marr.push_back(dep[j]);
            count--;
            j++;
        }
        else if(j >= len){
            marr.push_back(arr[i]);
            count++;
            i++;
        }
        else {
            if(arr[i] <= dep[j]){
                marr.push_back(arr[i]);
                count++;
                i++;
            }else{
                marr.push_back(dep[j]);
                count--;
                j++;
            }
        }

        if(count > max)
            max = count;
    }
    return max;
}