printРабочее место участника

printЗадачи

2362. Эстафета

Ограничения: время – 500ms/1000ms, память – 128MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Для каждого спортсмена известно время прохождения первого этапа эстафеты 4x100м, когда он стартует с места, и время прохождения остальных этапов (2-го, 3-го и 4-го), когда спортсмен уже бежит при передаче палочки.
Напишите программу, которая выберет четырех спортсменов и порядок расстановки их на этапы эстафеты, обеспечивающий минимальное суммарное время прохождения эстафеты.
Первая строка ввода содержит одно целое число `N` (`4\ ≤\ N\ ≤\ 500`) – количество спортсменов, из которых нужно выбрать четырех бегунов. Далее следует `N` строк, в каждой строке содержится уникальное имя спортсмена (текст из прописных латинских букв длиной от 2 до 20 символов) и два вещественных числа – время прохождения первого этапа `a_i` и время прохождения последующих этапов `b_i` (`8\ ≤\ b_i\ ≤\ a_i\ <\ 20`). Все числа даны с двумя десятичными знаками.
В первой строке вывести минимальное суммарное время прохождения эстафеты с точностью `10^{-2}`. В следующих четырех строках вывести имена спортсменов в порядке их расстановки по этапам эстафеты. Если существует несколько минимальных вариантов, то можно вывести любой из них.

Пример ввода

6
IVANOV 9.90 8.85
PETROV 9.69 8.72
FOMIN 9.58 8.43
EGOROV 9.78 8.93
MISHIN 9.88 8.92
NIKOLAEV 9.72 8.61

Пример вывода

35.54
EGOROV
FOMIN
NIKOLAEV
PETROV
loading