포럼
문제 USACO0492

티켓

설명

베시가 하이킹을 떠난다! 베시가 현재 지나고 있는 등산로는 \(1\ldots N\)으로 이름 붙은 \(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\)) 전체에 대한 접근 권한을 제공한다. 어떤 체크포인트에 들어가기 전에, 베시는 그 체크포인트에 대한 접근을 허용하는 티켓을 미리 구매해 두어야 한다. 베시가 어떤 체크포인트에 접근할 수 있게 되면, 이후 언제든지 그곳으로 돌아올 수 있다. 접근 권한이 있는 두 체크포인트 사이는 번호의 차이가 1인지 여부와 관계없이 이동할 수 있다.

\(i\in [1,N]\)에 대해, 베시가 처음에 체크포인트 \(i\)에만 접근할 수 있을 때 체크포인트 \(1\)\(N\) 모두에 대한 접근 권한을 구매하는 데 필요한 최소 총 가격을 출력하라. 불가능하다면 대신 \(-1\)을 출력한다.

출제자: Benjamin Qi

제약

배점

  • 테스트 케이스 1-7은 \(N,K\le 1000\)을 만족한다.
  • 테스트 케이스 8-19는 추가 제약이 없다.

출제자: Benjamin Qi

입력 형식

첫째 줄에 \(N\)\(K\)가 주어진다.

다음 \(K\)개의 줄에 각 \(1\le i\le K\)에 대해 네 정수 \(c_i\), \(p_i\), \(a_i\), \(b_i\)가 주어진다.

출력 형식

각 체크포인트마다 한 줄씩, 총 \(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
설명

If Bessie starts at checkpoint \(i=4\), then one way for Bessie to purchase access
to checkpoints \(1\) and \(N\) is as follows:

  1. Purchase the first ticket at checkpoint \(4\), giving Bessie access to checkpoints \(2\) and \(3\).
  2. Purchase the third ticket at checkpoint \(2\), giving Bessie access to checkpoint \(7\).
  3. Return to checkpoint \(4\) and purchase the second ticket, giving Bessie access to checkpoints \(5\) and \(6\).
  4. Purchase the fourth ticket at checkpoint \(6\), giving Bessie access to checkpoint \(1\).
문제 정보

riseoj 작성

출처 올림피아드 > USACO > 2021-2022 > December > Platinum

태그

평가 및 의견

Tickets

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

Log in to rate problems.

개별 의견

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

풀이 제출

Tickets

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