포럼
문제 USACO0560

음매 경로 II

설명

*참고: 이 문제의 시간 제한은 기본의 두 배인 4초이다.*

베시는 휴가 중이다! 최근의 기술 발전 덕분에 베시는 시간 여행까지 가능한 첨단 항공편으로 여행한다. 게다가 두 "평행" 버전의 베시가 만나더라도 아무 문제가 없다.

이 나라에는 \(1, 2, \ldots, N\)으로 번호가 매겨진 공항 \(N\)개와 시간 여행 항공편 \(M\)개가 있다 (\(1\leq N, M \leq 200000\)). 항공편 \(j\)는 시각 \(r_j\)에 공항 \(c_j\)를 떠나 시각 \(s_j\)에 공항 \(d_j\)에 도착한다 (\(0 \leq r_j, s_j \leq 10^9\), \(s_j < r_j\)일 수도 있다). 또한 베시는 공항 \(i\)에서 환승 시간 \(a_i\) (\(1\le a_i\le 10^9\))를 확보해야 한다. (즉, 베시가 시각 \(s\)에 공항 \(i\)에 도착하는 항공편을 탔다면, \(r \geq s + a_i\)인 시각 \(r\)에 그 공항을 떠나는 항공편으로 갈아탈 수 있다. 환승 시간은 베시가 공항에 도착하는 시각에는 영향을 주지 않는다.)

베시는 시각 \(0\)에 도시 \(1\)에서 출발한다. \(1\)부터 \(N\)까지의 각 공항에 대해, 베시가 그 공항에 도착할 수 있는 가장 이른 시각은 언제인가?

출제자: Brandon Wang

제약

배점

  • 입력 3-5: 모든 \(j\)에 대해 \(r_j < s_j\), 즉 모든 항공편은 출발한 후에 도착한다.
  • 입력 6-10: \(N, M \leq 5000\)
  • 입력 11-20: 추가 제약이 없다.

출제자: Brandon Wang

입력 형식

입력의 첫째 줄에 \(N\)\(M\)이 주어진다.

다음 \(M\)개의 줄에 항공편이 주어진다. 이 중 \(j\)번째 줄에는 \(c_j\), \(r_j\), \(d_j\), \(s_j\)가 순서대로 주어진다. (\(1\leq c_j, d_j \leq N\), \(0\leq r_j, s_j \leq 10^9\))

다음 줄에 공항 정보가 주어진다. 공백으로 구분된 \(N\)개의 정수 \(a_1, \ldots, a_N\)이 주어진다.

출력 형식

\(N\)개의 줄을 출력한다. \(i\)번째 줄에는 베시가 공항 \(i\)에 도착할 수 있는 가장 이른 시각을 출력하고, 그 공항에 도착하는 것이 불가능하면 -1을 출력한다.

예제 1
입력
3 3
1 0 2 10
2 11 2 0
2 1 3 20
10 1 10
출력
0
0
20
설명

Bessie can take the 3 flights in the listed order, which allows her to arrive at
airports 1 and 2 at time 0, and airport 3 at time 20.

Note that this route passes through airport 2 twice, first from time 10-11 and
then from time 0-1.

예제 2
입력
3 3
1 0 2 10
2 10 2 0
2 1 3 20
10 1 10
출력
0
10
-1
설명

In this case, Bessie can take flight 1, arriving at airport 2 at time 10.
However, she does not arrive in time to also take flight 2, since the departure
time is 10 and she cannot make a 1 time-unit layover.

문제 정보

riseoj 작성

출처 올림피아드 > USACO > 2022-2023 > February > Silver

태그

평가 및 의견

Moo Route II

개요
출제자 난이도 Unrated 레이팅 미적용 의견 0 / 1 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

Moo Route II

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8