The block ids are 0-based. I think it is more friendly to return `(Seq[IterationCost], Seq[IterationCost])`.