#199
Bronze III
최저가 노선
원문: English
시간 제한
2s
메모리 제한
1024MB
제출
0
정답
0
맞힌 사람
0
정답 비율
0.0%

문제

추운 겨울을 피해 따뜻한 곳으로 여행을 가고 싶은 서현이는 항공사 '에어 대전'을 통해 여행 계획을 세우고 있다. 하지만 이 항공사의 티켓 구조는 다소 복잡하다.

에어 대전은 NN개의 노선을 운영한다 (1N5001 \le N \le 500). 각 노선은 두 개 이상의 도시를 지나는 특정한 경로로 구성된다. 예를 들어, 어떤 노선은 도시 1에서 시작하여 도시 5, 도시 2를 거쳐 도시 8에서 끝날 수 있다. 한 노선에서 같은 도시가 여러 번 나타나지는 않는다. 서현이가 어떤 노선을 이용하기로 했다면, 해당 노선에 포함된 어떤 도시에서든 탑승할 수 있으며, 그 이후에 나타나는 어떤 도시에서든 내릴 수 있다. 노선의 전체를 이용하든 일부만 이용하든 상관없이, 해당 노선을 이용한다면 정해진 비용을 전액 지불해야 한다.

서현이는 현재 위치한 도시 AA에서 목적지인 도시 BB까지 이동하는 가장 저렴한 방법을 찾으려 한다. 복잡한 여행 일정은 피하고 싶기에, 서현이는 단 하나의 노선만을 이용하기로 했다. 서현이가 지불해야 하는 최소 비용을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 서현이의 현재 위치 AA, 목적지 BB, 그리고 항공 노선의 수 NN이 공백으로 구분되어 주어진다. (1A,B10,0001 \le A, B \le 10,000; 1N5001 \le N \le 500)

이어서 2N2N개의 줄에 걸쳐 각 노선의 정보가 두 줄씩 주어진다.

첫 번째 줄에는 노선 이용 비용(11 이상 1,0001,000 이하의 정수)과 노선에 포함된 도시의 수(11 이상 500500 이하의 정수)가 공백으로 구분되어 주어진다.

두 번째 줄에는 해당 노선이 지나는 도시의 번호들이 경로 순서대로 공백으로 구분되어 주어진다. 각 도시 번호는 11 이상 10,00010,000 이하의 정수이다.

출력

서현이가 도시 AA에서 도시 BB로 이동하기 위해 이용할 수 있는 단일 노선의 최소 비용을 출력한다. 만약 그러한 노선이 존재하지 않는다면 -1을 출력한다.

예제 입력 1

1 2 3
3 3
3 2 1
4 4
2 1 4 3
8 5
4 1 7 8 2

예제 출력 1

8
코드 제출

코드를 제출하려면 로그인이 필요합니다.

로그인
내 제출
제출 내역이 없습니다.
맞은 사람
아직 맞은 사람이 없습니다.
난이도 투표
Bronze III1명 투표· 약 1개월 전
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
제출 내역이 없습니다.