При чем тут хип, в задаче ничего специфичного о хипе не было. Это раз. Во вторых — примитивный массив интов убирает накладные расходы на обьекты, как минимум.
плюсую
в изначальном варианте на каждый вагон приходится как минимум 1 объект Entry, 2 объекта Integer
в оптимизированном - только примитив int