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

Разделы > Неотсортированные > задача:


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

Задачи раздела

• Макс и оптимизация времени
• Макс и оптимизация времени
• Макс и очень большой рюкзак
• Макс и первая задача
• Макс и переливания
• Макс и поход к стоматологу
• Макс и почтовые извещения
• Макс и продолжение прогрессии
• Макс и работа курьером
• Макс и режим печати
• Макс и система регистрации
• Макс и система регистрации
• Макс и система регистрации
• Макс и смешивание красок
• Макс и смешивание красок
• Макс и смешивание красок
• Макс и сонник

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

Если у вас есть предложения или пожелания по работе 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