Newspapers for Magicians

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

요약
구조가 같은 O개의 평행우주가 웜홀로 이어져 있을 때, 1번 우주의 S번 마을에서 O번 우주의 E번 마을까지 가는 최소 비용을 여러 도로·웜홀 요금 조합마다 구하고, 갈 수 없으면 -1을 출력한다.
난이도

어려움10점 중 8점

유형
그래프, 최단 경로, 수학, 완전 탐색
정답자
아직 제출이 없습니다

문제

내 이름은 피클! 나는 최고로 전능한 지배자. 하늘처럼 강한 힘으로 명령하는 자일지니! 오너라, 오너라. 화염의 군세여. 내 부름에 응하여 그 힘을 보여라! 익스플로전!

피클은 첫 번째 평행우주의 베르제르그 왕국, 액셀 마을에 살고 있는 정말 유명한 마법사이다.

모두가 알다시피, 베르제르그 왕국은 11부터 NN까지 번호가 매겨져 있는 NN개의 마을과 서로 다른 두 마을을 연결하는 MM개의 도로로 이루어져 있다. 연결하는 마을이 같은 서로 다른 두 도로는 존재하지 않으며, 피클은 도로 하나를 이용할 때마다 aa원을 지불해야 한다.

또한, 이 세계는 OO개의 평행우주와 PP개의 웜홀로 이루어져 있다. 각 우주는 11부터 OO까지 번호가 매겨져 있고, 각 평행우주에는 정확히 하나의 베르제르그 왕국이 있으며, 모든 우주의 베르제르그 왕국의 구조는 동일하다. 평행우주들은 번호순으로 인접해 있다. 구체적으로, ii번 평행우주는 ii가 11이 아닌 경우 i−1i-1번 평행우주와 인접하고, ii가 OO가 아닌 경우 i+1i+1번 평행우주와 인접하다. 웜홀들은 인접한 평행우주의 같은 번호의 마을을 연결하며, 이용하려면 bb원을 지불해야 한다. 예를 들어, 위 그림에는 11번 평행우주의 22번 마을과 22번 평행우주의 22번 마을을 연결하는 웜홀, 22번 평행우주의 44번 마을과 33번 평행우주의 44번 마을을 연결하는 웜홀 등이 있다.

어느 날, 피클은 OO번째 평행우주의 왕도에서 마법사들의 신문을 판다는 소식을 듣고 그 신문을 사러 가기로 했다. 피클은 슈와슈와를 밀수해야 하기 때문에 신문을 사러 갈 때 돈을 최소한으로 사용해야 하지만, 물가를 잘 몰라 aa와 bb의 값을 정확히 알지 못했다. 그래서 피클은 당신에게 QQ개의 가능한 aa와 bb 값에 대해 필요한 비용을 알려달라고 부탁했다. 피클을 위해 최소 비용을 구해주자.

입력

첫 번째 줄에 베르제르그 왕국의 마을의 수 NN, 평행우주의 수 OO, 액셀 마을의 번호 SS, 그리고 왕도의 번호 EE가 공백으로 구분되어 주어진다.

두 번째 줄에 도로의 수 MM이 주어진다.

세 번째 줄부터 MM개의 줄 중 ii번째 줄에 도로가 잇는 두 마을의 번호 s_is\_i, e_ie\_i가 공백으로 구분되어 주어진다.

그다음 줄에 웜홀의 수 PP가 주어진다.

그다음 PP개의 줄 중 ii번째 줄에 웜홀의 정보 w_iw\_i, x_ix\_i가 공백으로 구분되어 주어지며, 이는 w_iw\_i번째 우주와 w_i+1w\_i+1번째 우주의 x_ix\_i번 마을이 연결되어 있음을 의미한다. 같은 웜홀은 두 번 이상 주어지지 않는다.

그다음 줄에 쿼리의 수 QQ가 주어진다.

그다음 QQ개의 줄 중 ii번째 줄에 두 정수 a_i,b_ia\_i, b\_i가 공백으로 구분되어 주어진다. 이는 ii번째 쿼리의 도로 이용 비용이 a_ia\_i, 웜홀 이용 비용이 b_ib\_i임을 나타낸다.

출력

쿼리가 주어질 때마다 피클이 신문을 사러 가는 데에 드는 최소 비용을 줄 바꿈으로 구분하여 출력한다. 만약 신문을 살 수 없다면 대신 -1을 출력한다.

제한

  • 1≤N≤50001 \le N \le 5000
  • 1≤O≤10001 \le O \le 1000
  • 1≤S,E≤N1 \le S, E \le N
  • 0≤M≤1040 \le M \le 10^4
  • 1≤s_i,e_i≤N,(1≤i≤M)1 \le s\_i, e\_i \le N \\, (1\le i \le M)
  • 0≤P≤1040 \le P \le 10^4
  • 1≤w_i≤O−11 \le w\_i \le O-1; 1≤x_i≤N,(1≤i≤P)1 \le x\_i \le N \\, (1\le i \le P)
  • 1≤Q≤1041 \le Q \le 10^4
  • 0≤a_i,b_i≤100,(1≤i≤Q)0 \le a\_i, b\_i \le 100\\, (1\le i \le Q)

예제3

  1. 예제 1

    입력
    6 3 4 3
    7
    1 2
    1 4
    2 3
    3 4
    3 6
    5 6
    5 4
    4
    1 2
    1 6
    2 4
    2 5
    3
    1 2
    3 10
    9 7
    
    예상 출력
    9
    35
    59
    
  2. 예제 2

    입력
    8 4 1 8
    8
    1 2
    2 3
    2 4
    2 5
    4 5
    6 7
    6 8
    7 8
    5
    1 3
    2 2
    2 6
    2 5
    3 3
    2
    1 6
    57 15
    
    예상 출력
    -1
    -1
    
  3. 예제 3

    입력
    5 1 2 3
    4
    2 1
    1 5
    1 4
    5 3
    0
    2
    2 3
    12 16
    
    예상 출력
    6
    36