대체 마트
시간 제한5초메모리 제한512 MB
각 질의마다 시작 지역 S에서 닫히지 않은 할인 마트 중 가장 가까운 곳의 번호와 최단 거리를 구합니다.
문제
민식이는 OJUZ 시에서 자취하고 있다. OJUZ 시에는 개의 지역과 개의 양방향 도로가 있으며, 그중 개의 지역에 할인마트가 있다. 지역 번호는 1 이상 이하의 정수이다. 두 지역을 직접 잇는 도로는 최대 하나이고, 모든 도로의 양 끝 지역은 서로 다르다. 또한 어느 지역에서든 다른 지역으로 가는 길이 항상 있다.
민식이는 일과가 끝나면 할인마트에 들러 요리 재료와 간식거리를 산 뒤 자취방으로 돌아온다. 민식이는 항상 가장 빠른 길로 할인마트에 간다. 그런데 할인마트 몇 곳이 문을 닫을 때가 있다. 할인마트가 문을 닫으면 기존에 가던 길이 쓸모없어질 수 있다. 민식이는 자주 가던 할인마트가 문을 닫으면 어느 할인마트로 가야 할지 몰라 난감해한다.
민식이를 도와, 매 순간 어느 할인마트로 가야 하는지 구하는 프로그램을 작성하라. 단, 할인마트에서 집까지 가는 시간은 무시한다.
입력
첫 줄에 지역의 수 , 도로의 수 , 할인마트의 수 , 질의의 수 가 주어진다. (, , , )
둘째 줄에는 할인마트가 있는 지역의 번호 개가 오름차순으로 주어진다.
셋째 줄부터 개의 줄에 도로의 양 끝점 , 와 길이 가 주어진다. (, )
째 줄부터 개의 줄에 질의가 주어진다. 각 질의는 출발 지역 , 문을 닫은 할인마트의 수 , 문을 닫은 할인마트가 있는 지역의 번호 로 이루어진다. (, )
출력
개의 줄에 걸쳐 각 질의마다 민식이가 가야 하는 할인마트의 번호(할인마트가 있는 지역의 번호)와 그곳까지 가는 최소 시간을 출력한다. 가장 빨리 갈 수 있는 할인마트가 여러 곳이면 번호가 가장 작은 곳을 출력한다.