아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

티켓

시간 제한2초메모리 제한1024 MB

요약
각 체크포인트에서 시작할 때 1번과 N번 체크포인트에 모두 접근하는 최소 티켓 비용을 구합니다. 불가능하면 -1입니다.
난이도

어려움10점 중 8점

유형
최단 경로, 세그먼트 트리, 그래프
정답자
아직 제출이 없습니다

문제

Bessie는 하이킹 여행을 떠난다. 지금 지나고 있는 산책로에는 1부터 NN까지 번호가 붙은 체크포인트 NN개가 있다 (1≤N≤1051\le N\le 10^5).

구매할 수 있는 티켓은 KK개이다 (1≤K≤1051\le K\le 10^5). ii번째 티켓은 체크포인트 cic_i (1≤ci≤N1\le c_i\le N)에서 가격 pip_i (1≤pi≤1091\le p_i\le 10^9)에 살 수 있으며, 구매하면 [ai,bi][a_i,b_i] (1≤ai≤bi≤N1\le a_i\le b_i\le N) 구간에 속한 모든 체크포인트에 접근할 수 있다. 체크포인트에 들어가기 전에 Bessie는 그 체크포인트에 접근할 수 있는 티켓을 미리 구매해야 한다. 한 번 접근 권한을 얻은 체크포인트는 이후 언제든 다시 방문할 수 있다. 접근 권한이 있는 두 체크포인트 사이는 번호 차이와 상관없이 이동할 수 있다.

각 i∈[1,N]i\in[1,N]에 대해, Bessie가 처음에 체크포인트 ii에만 접근할 수 있다고 하자. 이때 체크포인트 1과 체크포인트 NN에 모두 접근하기 위해 필요한 티켓 가격 합의 최솟값을 출력한다. 불가능하면 -1을 출력한다.

입력

첫 줄에 NN과 KK가 주어진다.

다음 KK개의 줄에는 각각 정수 cic_i, pip_i, aia_i, bib_i가 주어진다.

출력

NN개의 줄을 출력한다. 각 줄은 체크포인트 하나에 대응한다.

예제1

  1. 예제 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