문제
서현이와 은영이는 충남대학교 정문(번 장소)에서 학생회관(번 장소)까지 이동하려고 한다. 두 사람은 정문에서 정확히 같은 시간에 출발하여, 학생회관에도 정확히 같은 시간에 도착하기를 원한다.
학교에는 부터 까지 번호가 매겨진 개의 장소가 있다. () 번 장소는 정문이고, 번 장소는 학생회관이다. 학교는 산기슭에 위치하여, 번호가 인 장소는 번호가 인 장소보다 고도가 높으면 항상 를 만족한다. 장소들을 연결하는 개의 경로가 있지만, 각 경로는 매우 가파르기 때문에 내리막 방향으로만 이동할 수 있다. 예를 들어 번 장소와 번 장소를 연결하는 경로는 방향으로만 지나갈 수 있으며, 반대 방향인 오르막으로는 갈 수 없다. 두 장소 사이를 연결하는 경로는 최대 하나뿐이다. ()
서현이와 은영이는 같은 경로를 이동하더라도 걸리는 시간이 다를 수 있다. 예를 들어, 어떤 경로를 지날 때 서현이는 만큼의 시간이 걸리지만 은영이는 만큼의 시간이 걸릴 수도 있다. 또한, 두 사람은 이동하는 중에만 시간을 소비하며, 장소에 머무는 시간은 없다고 가정한다.
서현이와 은영이가 정확히 같은 시각에 학생회관에 도착하기 위해 필요한 최소 시간을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 장소의 수 과 경로의 수 이 공백으로 구분되어 주어진다.
이어서 개의 줄에 각 경로의 정보를 나타내는 네 정수 , , , 가 주어진다. 와 ()는 경로가 연결하는 두 장소의 번호이며, 는 서현이가 이 경로를 통과하는 데 걸리는 시간, 는 은영이가 이 경로를 통과하는 데 걸리는 시간이다. ()
출력
서현이와 은영이가 동시에 학생회관에 도착할 수 있는 최소 시간을 출력한다. 만약 두 사람이 동시에 도착하는 것이 불가능하거나, 어느 한 명이라도 학생회관에 도달할 수 있는 방법이 없다면 IMPOSSIBLE을 출력한다.
예제 입력 1
3 3
1 3 1 2
1 2 1 2
2 3 1 2
예제 출력 1
2
코드를 제출하려면 로그인이 필요합니다.
로그인