Олимпиадный тренинг

Задача . Tickets


Задача

Темы:
Беси собирается на экскурсию. Маршрут состоит из \(N\) пунктов пронумерованных \(1\ldots N\) (\(1\le N\le 10^5\)).

Имеется \(K\) (\(1\le K\le 10^5\)) билетов доступных для продажи. \(i\)-ый билет можно купить в пункте \(c_i\) (\(1\le c_i\le N\)) за цену \(p_i\) (\(1\le p_i\le 10^9\)) и обеспечить себе доступ ко всем пунктам \([a_i,b_i]\) (\(1\le a_i\le b_i\le N\)). Прежде чем войти в любой пункт, Беси должна купить билет который обеспечивает доступ в этот пункт. Купив однажды билет в пункт, Беси может возвращаться в него в любой момент в будущем.

Для каждого \(i\in [1,N]\), выведите минимальную суммарную цену которую требуется заплатить, чтобы получить доступ к обоим пунктам \(1\) и \(N\), если изначально Беси имела доступ только к пункту \(i\). Если это невозможно, выведите \(-1\).

ФОРМАТ ВВОДА (с клавиатуры / stdin):

Первая строка ввода содержит \(N\) и \(K\).

Каждая из последующих \(K\) строк содержит четыре целых числа \(c_i\), \(p_i\), \(a_i\), \(b_i\) для каждого \(1\le i\le K\).

ФОРМАТ ВЫВОДА (на экран / stdout):

\(N\) строк, по одной для каждого пункта.


Примеры
Входные данныеВыходные данные
1 7 6
4 1 2 3
4 10 5 6
2 100 7 7
6 1000 1 1
5 10000 1 4
6 100000 5 6
-1
-1
-1
1111
10100
110100
-1

time 500 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя