while (!ends.empty() && ends.front() <= realStart) {
while (!ends.empty() && ends.front() <= arrival) {
По идее надо хранить очередь необработанных пока пакетов и время, когда освободится процессор. Надо, пока он освободится раньше нового пакета обрабатывать пакет из очереди. Иначе добавлять текущий пакет в очередь, если там есть место.
У вас же выводится время добавления в очередь.
появились вопросы:
1) вот этот код
если его написать проще:
то на чем будет спотыкаться?
2) тип
я разобрал на "запчасти", и не взошло:
но если чуть подправить UnionToIntersectionPart2, убрав дестрибуцию, то всё норм:
ссылка
получается, в твоем UnionToIntersection внешний extends не считает выражение слева как объединение и не делает цикл по нему? какова его природа?