페이지를 불러오는 중…
해결한 사람
43
명
정답률
26.71
%
시간 제한
2000
ms
메모리 제한
256
MB
한 인도의 도시 중 하나인 시루세리에는 모든 도로들이 일방통행으로 되어 있다.
도로들이 만나는 모든 교차로에는 시루세리 은행의 현금입출금기(ATM)가 설치되어 있다.
또, 이 도시에는 유명한 레스토랑 체인점들이 있는데, 이 체인점들은 교차로에만 위치한다.
물론 각 교차로마다 항상 레스토랑이 위치하는 것은 아니다.
시루세리에 사는 반디치는 오늘 오후에 이 레스토랑 중 한 곳에서 가족들과 파티를 열려고 한다.
그런데 갖고 있는 현금이 부족하여 레스토랑으로 가는 동안 가능한 한 많은 현금을 ATM 기기들로부터 인출하려고 한다.
그는 자신의 집에서 출발하여 차로 이동하면서 통과하는 모든 교차로의 ATM 기기에 들어있는 현금 전부를 인출하려고 한다.
이동 시 동일한 도로나 교차로를 여러 번 지날 수 있다.
단, ATM 기기의 현금은 새로 보충되지 않기 때문에 처음 방문한 이후 다시 방문하는 교차로의 ATM 기기에는 인출할 현금이 없다.
예를 들어, 아래 그림처럼 도시 내에 6개의 교차로가 있다고 하자.
교차로는 원으로 표시되어 있고, 화살표는 도로를 나타낸다.
이중 원으로 표시된 교차로는 레스토랑이 있다.
각 ATM 기기가 갖고 있는 현금의 액수는 교차로 위에 표시된 숫자이다.
이 예에서 현금 인출을 1번 교차로부터 시작한다면, 경로 1-2-4-1-2-3-5를 통해서 총 47의 현금을 인출할 수 있다.
반디치가 출발 장소에서 어떤 레스토랑까지 이동하면서 인출할 수 있는 현금의 최대 액수가 얼마인지를 계산하는 프로그램을 작성하시오.
첫째 줄에 교차로의 수와 도로의 수를 나타내는 두 정수 과 ()이 차례로 주어진다. 교차로는 1부터 까지 번호가 매겨져 있다. 그 다음 개의 줄에는 각 줄마다 각 도로의 시작 교차로 번호와 끝 교차로 번호를 나타내는 두 정수가 주어진다. 그 다음 개의 줄에는 1번 교차로부터 차례대로 각 교차로의 ATM 기기가 보유한 현금의 액수를 나타내는 정수가 각 줄에 하나씩 주어진다. 그 다음 줄에는 두 개의 정수 와 가 주어진다. 여기서 는 출발 교차로 번호이고, 는 레스토랑의 개수이다 (). 그 다음 줄에는 각 레스토랑이 있는 교차로의 번호를 나열한 개의 정수가 주어진다. ATM 기기에 들어 있는 현금의 액수는 0 이상 4,000 이하이다. 모든 입력에서 출발 장소 로부터 도달 가능한 레스토랑이 반드시 하나 이상 존재한다.
출력은 한 개의 정수이다. 이 정수는 반디치가 출발 장소에서 어떤 레스토랑까지 이동하면서 인출할 수 있는 현금의 최대 액수이다.
6 7
1 2
2 3
3 5
2 4
4 1
2 6
6 5
10
12
8
16
1
5
1 4
4 3 5 647로그인 상태를 확인하는 중입니다.