Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 

Турист

(Время: 2 сек. Память: 64 Мб Сложность: 56%)

В городе Х всего одна улица и n остановок, которые пронумерованы в порядке следования вдоль улицы. Мэр города решил оптимизировать транспортную систему. Для этого он запретил промежуточные остановки автобусов – теперь у каждого автобуса две остановки: начальная и конечная.

Турист хочет добраться с первой остановки до n-ой на автобусах, возможно, с пересадками. Он узнал, что существует m маршрутов автобусов. Для каждого из них известна начальная остановка ai, конечная остановка bi и стоимость проезда ci.

Все автобусы следуют только по направлению «из ai в bi» (но не обратно), причем для всех маршрутов верно, что ai < bi.

Помогите ему найти самый дешевый способ добраться, или определите, что искомого маршрута не существует.

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

В первой строке входного файла INPUT.TXT записаны через пробел два натуральных числа n и m - число остановок и маршрутов автобусов соответственно (1 ≤ n ≤ 1018, 1 ≤ m ≤ 105).

В каждой из следующих m строк вводится тройка натуральных чисел ai , bi и ci (1 ≤ ai < bi ≤ n, 1 ≤ ci ≤ 109).

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

Если искомого маршрута не существует, выведите в единственную строку выходного файла OUTPUT.TXT одно число -1.

Если маршрут существует, в первой строке выходного файла OUTPUT.TXT выведите одно число – минимальную сумму, которую необходимо потратить на проезд. Во второй строке через пробел перечислите номера маршрутов, которыми должен воспользоваться турист, в порядке использования. Если вариантов ответа несколько, выведите любой. Автобусные маршруты нумеруются с единицы в порядке следования во входных данных.

Примеры

INPUT.TXTOUTPUT.TXT
13 3
1 2 5
1 3 10
2 3 1
6
1 3
23 1
1 2 5
-1

Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!

[Обсуждение] [Все попытки] [Лучшие попытки]


 Язык программирования C++
 Решение олимпиадных задач
 Региональные олимпиады
 ЕГЭ по информатике
 Авторские задачи
 Тренировочные олимпиады
 Личные олимпиады
 Командные олимпиады
 Первая командная олимпиада
 Вторая командная олимпиада
 Третья командная олимпиада
 Четвертая командная олимпиада
 Пятая командная олимпиада
 Шестая командная олимпиада
 A. Сезонное весеннее обострение
 B. Болото
 C. Игра средней оплаты
 D. Компаратор
 E. Дробь-2
 F. Гонки
 G. BoxStation
 H. Турист

Красноярский краевой Дворец пионеров, (c)2006 - 2026, ИНН 246305493507, E-mail: admin@acmp.ru