First of all, the two options you suggest don't offer the exact same information: with option A it is not clear that the prices are controlled exclusively by the length of the delivery slot. For example, one could reasonably assume that the pricing is based on the demand for the particular slot, which would also explain why each slot has its own price displayed on it. Even if that conclusion were obvious (which is debatable), having to look at each individual time slot to figure this out is tedious.
However, otherwise I much prefer option A, because it uses a consistent vertical axis for the passage of time - a paradigm already familiar to users from most calendar applications. Timeslots starting at the same time of day start at the same height visually, and 2-hour timeslots are twice as tall as 1-hour timeslots (and you can tell at a glance which 2 smaller timeslots it corresponds to).
Option B, on the other hand, has basically no information encoded in the layout, except for the separation of the days. You cannot compare the timeslots between days by looking at their vertical position, nor is it easy to tell at a glance how long the timeslots are (you have to read and interpret the numbers, ew).
To summarize, I would go with a modified version of option A, where you move the delivery slot pricing to the column headers.