Insert line
get maximum y
value type
if queries are increase, use CHMode.incr. if queries are decrease, use CHMode.decr.
ConvexHull!(int, CHQueryType.incr) c; c.insertLine([1, 4]); c.insertLine([2, 1]); c.insertLine([3, -100]); assert(c.maxY(-1) == 3); // 1 * (-1) + 4 = 3 c.insertLine([-10, 100]); assert(c.maxY(2) == 80); // 2 * (-10) + 100 = 80
Convex Hull Trick