만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

Moo Route II

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

요약
N개의 공항과 M개의 시간 여행 항공편이 주어질 때, 1번 공항에서 시각 0에 출발해 각 공항에 도달하는 가장 이른 시각을 구합니다.
난이도

보통10점 중 7점

유형
동적 계획법, 정렬, 이분 탐색, 그래프
정답자
아직 제출이 없습니다

문제

Bessie는 휴가 중입니다. 최근 기술 발전 덕분에 Bessie는 시간 여행까지 가능한 첨단 항공편을 이용해 이동합니다. 평행 세계의 Bessie 두 명이 만나도 문제가 되지 않습니다.

이 나라에는 번호가 1,2,…,N1, 2, \ldots, N인 공항이 NN개 있고, 시간 여행 항공편은 MM개 있습니다(1≤N,M≤2000001\leq N, M \leq 200000). jj번째 항공편은 공항 cjc_j에서 시각 rjr_j에 출발하여 공항 djd_j에 시각 sjs_j에 도착합니다(0≤rj,sj≤1090 \leq r_j, s_j \leq 10^9). sj<rjs_j < r_j인 경우도 있을 수 있습니다. 공항 ii에서는 환승에 aia_i만큼의 시간이 필요합니다(1≤ai≤1091\leq a_i\leq 10^9). 즉, 어떤 항공편을 타고 시각 ss에 공항 ii에 도착했다면, r≥s+air \geq s + a_i를 만족하는 시각 rr에 공항 ii에서 출발하는 항공편으로 갈아탈 수 있습니다. 환승 시간은 Bessie가 공항에 도착하는 시각에 영향을 주지 않습니다.

Bessie는 시각 0에 도시 1에서 출발합니다. 1번부터 NN번까지 각 공항에 대해, Bessie가 도착할 수 있는 가장 이른 시각을 구하십시오.

입력

첫째 줄에 NN과 MM이 주어집니다. 다음 MM개의 줄에는 순서대로 cjc_j, rjr_j, djd_j, sjs_j가 주어집니다(1≤cj,dj≤N1\leq c_j, d_j \leq N, 0≤rj,sj≤1090\leq r_j, s_j \leq 10^9). 마지막 줄에는 공백으로 구분된 NN개의 정수 a1,…,aNa_1, \ldots, a_N이 주어집니다.

출력

NN개의 줄을 출력합니다. ii번째 줄에는 Bessie가 공항 ii에 도착할 수 있는 가장 이른 시각을 출력합니다. 도착할 수 없으면 -1을 출력합니다.

예제2

  1. 예제 1

    입력
    3 3
    1 0 2 10
    2 11 2 0
    2 1 3 20
    10 1 10
    
    예상 출력
    0
    0
    20
    
  2. 예제 2

    입력
    3 3
    1 0 2 10
    2 10 2 0
    2 1 3 20
    10 1 10
    
    예상 출력
    0
    10
    -1