Ответ:

Витя должен финишировать непосредственно перед Андреем, а Боря — на две позиции ниже Вити. Поэтому возможные места для Вити — первое, второе или третье.

Если Витя первый, то Андрей второй, Боря третий, а Дима и Глеб занимают четвёртое и пятое места. Тогда Глеб окажется последним, что запрещено.

Если Витя второй, то Андрей третий, Боря четвёртый. На оставшихся местах Дима должен быть раньше Глеба, значит, Глеб будет последним — это также запрещено.

Остаётся случай: Витя третий, Андрей четвёртый, Боря пятый. Дима и Глеб занимают первые два места, причём Дима раньше Глеба.

Ответ: Дима, Глеб, Витя, Андрей, Боря.