Logo
(追記) (追記ここまで)

31829번 - 첫 차 타기

시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 1024 MB2871119838.889%

문제

현재 1ドル$번 건물에 있는 세우는 막차를 놓쳐버렸다. 그래서 세우네 집인 $N$번 건물까지 걸어가기로 했다. 그러다 세우는 1ドル$번 건물에서 출발할 때, 지금부터 정확히 $K$분 후부터 버스 첫 차가 운행하기 시작한다는 것을 깨달았다.

세우네 도시에는 양방향으로 서로 다른 두 개의 건물을 연결하는 $X$개의 인도와 $Y$개의 차도가 있다. 첫 차가 운행하기 시작하는 $K$분 이전에는 인도로만 이동할 수 있고, $K$분 후부터는 인도로 이동하거나, 버스를 타고 차도로 이동할 수 있다.

세우가 1ドル$번 건물에서 출발해 $N$번 건물까지 도착하는 데 걸리는 최소 시간을 구하는 프로그램을 작성해 보자.

입력

첫 번째 줄에 각각 건물의 개수, 버스 첫 차가 운행하기 시작하는 시간, 인도의 개수, 차도의 개수를 의미하는 정수 $N,ドル $K,ドル $X,ドル $Y$가 공백으로 구분되어 주어진다. $(3 \leq N \leq 200 \ 000$; 1ドル \leq X,ドル $Y \leq 200 \ 000$; 1ドル \leq K \leq 10^9)$

$X$개의 줄에 걸쳐, 1ドル + i$번째 줄에는 각각 $i$번째 인도가 연결하는 두 건물과 이동 시간을 뜻하는 정수 $s_i,ドル $e_i,ドル $d_i$가 공백으로 구분되어 주어진다. 임의의 $i$에 대해 $s_i$번 건물에서 $e_i$번 건물로 가는 인도는 유일하다. $(1 \leq s_i,ドル $e_i \leq N$; $s_i \neq e_i$; 1ドル \leq d_i \leq 10^9)$

$Y$개의 줄에 걸쳐, $X + 1 + i$번째 줄에는 각각 $i$번째 차도가 연결하는 두 건물과 이동 시간을 뜻하는 정수 $s_i,ドル $e_i,ドル $d_i$가 공백으로 구분되어 주어진다. 임의의 $i$에 대해 $s_i$번 건물에서 $e_i$번 건물로 가는 차도는 유일하다. $(1 \leq s_i,ドル $e_i \leq N$; $s_i \neq e_i$; 1ドル \leq d_i \leq 10^9)$

세우가 1ドル$번 건물에서 출발하여 $N$번 건물까지 도착할 수 있음이 보장된다.

출력

첫 번째 줄에 1ドル$번 건물에서 출발해 $N$번 건물까지 도착하는 데 걸리는 최소 시간을 출력한다.

제한

예제 입력 1

5 4 4 2
1 4 3
2 4 2
2 5 4
3 5 1
3 4 1
2 3 2

예제 출력 1

6

이때 이동하는 데 걸리는 최소 시간은 6ドル$분이고, 다음과 같이 이동해야 한다.

  • 1ドル$번 건물에서 4ドル$번 건물까지 걸어서 3ドル$분동안 이동한다.
  • 4ドル$번 건물에서 1ドル$분 기다린 후, 4ドル$분에 버스를 타고 3ドル$번 건물로 1ドル$분동안 이동한다.
  • 3ドル$번 건물에서 5ドル$번 건물까지 걸어서 1ドル$분 동안 이동한다.

힌트

출처

University > 국민대학교 > KPSC Welcome Contest 2024 > Contest I번

University > 국민대학교 > KPSC Welcome Contest 2024 > Open Contest I번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /