ГлавнаяСборникиТурнирыРазделыФорумыУчастникиПечатьПомощьО системе

Турниры > Отборочный турнир сезона «Осень — 2023» > задача:


J. Макс и работа курьером

Отборочный турнир сезона «Осень — 2023»

Старт: 09.сен.2023 в 10:00:00
Финиш: 17.сен.2023 в 23:00:00
Турнир завершён!
• Турнирная таблица

Задачи турнира

• B. Макс и ожидание Нового Года
• C. Макс и режим печати
• D. Макс и первая задача
• E. Макс и гирлянда
• F. Макс и крестики-нолики
• G. Макс и взрывоопасные зелья
• H. Макс и образовательный лагерь
• I. Макс и борьба с вирусом --- 2
• J. Макс и работа курьером

Обратная связь

Если у вас есть предложения или пожелания по работе Contester, посетите форум сайта www.contester.ru.

Лимит времени 2000/2000/2000/2000 мс. Лимит памяти 65536/65536/65536/65536 Кб.

Макс и работа курьером
Макс и работа курьером
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
64 мегабайта
ввод
стандартный ввод
вывод
стандартный вывод

Макс решил, что так как он много путешествует по стране, он мог бы немного скомпенсировать свои расходы, а может, даже подзаработать, если станет курьером — будет брать с собой различные посылки и перевозить их между городами.

Макс может посещать $$$N$$$ различных городов. В некоторых городах можно взять посылку, чтобы отвести её в другой город. Вещи отправляются регулярно, поэтому после доставки посылки можно вновь взять такую же в исходном городе. В каждый момент времени Макс может перевозить только одну посылку.

За доставку посылки из города $$$A$$$ в город $$$B$$$ курьер получает вознаграждение размером $$$P_{AB}$$$ рублей, а время поездки из города $$$A$$$ в город $$$B$$$ равно $$$T_{AB}$$$.

Макс хочет составить такой кольцевой маршрут $$$X_1, X_2, ..., X_K$$$, чтобы, взяв посылку в городе $$$X_1$$$, доставить её в город $$$X_2$$$, там взять следующую посылку и доставить её в город $$$X_3$$$, и так далее, а в конце взять посылку в городе $$$X_K$$$ и доставить её в город $$$X_1$$$, после чего повторять всё путешествие заново. Из всех кольцевых маршрутов Максу интересен наиболее выгодный, то есть такой, у которого отношение суммарного вознаграждения к общему времени пути ($$$L=\frac{\sum{P}}{\sum{T}}$$$) максимально.

Помогите Максу отыскать нужный маршрут.

Входные данные

Первая строка содержит целые числа $$$N$$$ и $$$M$$$ ($$$2 \le N \le 100$$$, $$$1 \le M \le N \cdot (N-1)$$$) — соответственно количество городов и количество заданий по доставке посылок.

Следующие $$$M$$$ строк описывают задания по доставке посылок. Каждая из них содержит целые числа $$$A$$$, $$$B$$$, $$$P_{AB}$$$, $$$T_{AB}$$$ ($$$1 \le A, B \le N$$$, $$$1 \le P_{AB}, T_{AB} \le 10^6$$$) — соответственно номер города, из которого нужно забрать посылку, номер города, в который нужно доставить посылку, количество очков опыта за выполнение задания и время в пути. Каждая упорядоченная пара городов встречается во входных данных не более одного раза, начальный и конечный город пары не совпадают.

Выходные данные

Если необходимого маршрута не существует, выведите $$$-1$$$.

Иначе в первой строке выведите одно вещественное число с точностью не менее 6 знаков после запятой — максимально возможное значение $$$L$$$.

Во второй строке выведите одно целое число $$$K$$$ — количество городов в маршруте.

В третьей строке выведите $$$(K + 1)$$$ целое число — номера городов маршрута в порядке обхода. Первое и последнее числа должны совпадать, остальные числа должны быть различны. Если вариантов ответа несколько, выведите любой.

Примеры

Входные данные
5 6
1 2 100 10
2 3 100 5
3 1 100 15
3 4 100 5
4 5 100 10
5 3 100 10
Выходные данные
12.000000
3
4 5 3 4
Входные данные
2 1
1 2 100 1
Выходные данные
-1
Для отправки решений необходимо выполнить вход.

www.contester.ru