아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

가장 먼 곳

시간 제한1.5초메모리 제한1024 MB

요약
가중치가 있는 무방향 그래프에서 세 친구까지의 거리 중 최솟값이 가장 큰 정점을 찾고, 동점이면 번호가 작은 것을 출력한다.
난이도

보통10점 중 6점

유형
그래프, 최단 경로, 힙, BFS
정답자
아직 제출이 없습니다

문제

NN개의 땅 중 한 곳에 자취를 하려고 집을 알아보고 있다. 세 명의 친구 AA, BB, CC가 있는데, 이 친구들이 살고 있는 집으로부터 가장 먼 곳에 집을 구하려고 한다.

이때 가장 먼 곳은, 선택할 집에서 거리가 가장 가까운 친구의 집까지의 거리를 기준으로 그 거리가 가장 먼 곳을 말한다.

예를 들어 XX 위치에 있는 집에서 친구 AA, BB, CC의 집까지의 거리가 각각 3, 5, 4이고, YY 위치에 있는 집에서 친구 AA, BB, CC의 집까지의 거리가 각각 5, 7, 2라고 하자.

이때 친구들의 집으로부터 땅 XX와 땅 YY 중 더 먼 곳은 땅 XX이다. XX에서 가장 가까운 친구의 집까지의 거리는 3이고, YY에서는 2이기 때문이다.

친구들이 살고 있는 집으로부터 가장 먼 곳을 구해보자.

입력

첫 번째 줄에 자취할 땅 후보의 개수 NN이 주어진다.

두 번째 줄에는 친구 AA, BB, CC가 사는 위치가 공백으로 구분되어 주어진다. 이때 친구들은 NN개의 땅 중 하나에 사는 것이 보장된다. (같은 위치에서 살 수 있다.)

세 번째 줄에는 땅과 땅 사이를 잇는 도로의 개수 MM이 주어진다.

그다음 줄부터 M+3M + 3번째 줄까지 땅 DD, 땅 EE, 땅 DD와 땅 EE 사이를 연결하는 도로의 길이 LL이 공백으로 구분되어 주어진다. 이 도로는 양방향 통행이 가능하다.

출력

친구들이 살고 있는 집으로부터 가장 먼 곳의 땅 번호를 출력한다. 만약 가장 먼 곳이 여러 곳이라면 번호가 가장 작은 땅의 번호를 출력한다.

제한

  • 1≤N≤100,0001 \le N \le 100,000
  • N−1≤M≤500,000N - 1 \le M \le 500,000
  • 1≤A,B,C,D,E≤N1 \le A, B, C, D, E \le N
  • 1≤L≤10,0001 \le L \le 10,000
  • LL은 정수
  • 땅의 번호는 11부터 NN까지 하나씩 붙어 있다.
  • 임의의 두 땅 사이를 도로를 통해서 이동할 수 있다.

예제1

  1. 예제 1

    입력
    6
    1 2 5
    8
    1 2 1
    2 3 4
    1 4 2
    2 5 3
    1 6 5
    5 6 2
    3 4 2
    4 5 6
    
    예상 출력
    3