// Fucntion to calculate min of values a and b
int min(int a, int b) { return ((a < b) ? a : b); }

// Two pointer approach to find maximum container area
int maxArea(int *height, int heightSize)
{
    // Start with maximum container width
    int start = 0;
    int end = heightSize - 1;
    int res = 0;

    while (start < end)
    {
        // Calculate current area by taking minimum of two heights
        int currArea = (end - start) * min(height[start], height[end]);

        if (currArea > res)
            res = currArea;

        if (height[start] < height[end])
            start = start + 1;
        else
            end = end - 1;
    }

    return res;
}

11