만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

유료 도로

면접 대비

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

요약
각 도시 쌍에 대해 두 도시를 잇는 경로의 최대 통행료 최솟값과, 그 통행료 이하 도로만으로 출발 도시에서 갈 수 있는 도시 수를 구합니다.
난이도

보통10점 중 4점

유형
유니온 파인드, 최소 신장 트리, 정렬
정답자
아직 제출이 없습니다

문제

나라에는 여러 도시가 있고, 도시들은 도로로 연결되어 있다. 안타깝게도 모든 도로가 유료 도로다.

당신은 AAA(American Automobile Association) 지역 지부를 운영한다. 사람들은 통행료에 관해 계속 묻는데, 특히 두 도시를 잇는 경로 위에 있는 개별 도로의 통행료를 묻는다. 이상하지만 실제로 그렇게 묻고 있다.

도시와 도로 정보, 그리고 각각 두 도시로 이루어진 질의들이 주어진다. 각 질의마다 다음 두 가지를 구한다.

  • 첫째, 두 도시 사이에 경로가 존재하면서 그 경로의 어떤 도로도 통행료가 ww보다 크지 않도록 하는 가장 작은 ww 값.
  • 둘째, 출발 도시에서 통행료가 ww보다 큰 도로를 한 번도 쓰지 않고 도달할 수 있는 도시의 수.

입력

첫 줄에 세 정수 nn (2≤n≤2×1052 \le n \le 2 \times 10^5), mm (1≤m≤2×1051 \le m \le 2 \times 10^5), qq (1≤q≤2×1051 \le q \le 2 \times 10^5)이 주어진다. nn은 도시의 수, mm은 도로의 수, qq는 질의의 수다. 도시에는 1부터 nn까지 번호가 붙어 있다.

이어지는 mm개의 줄에는 세 정수 uu, vv (1≤u,v≤n1 \le u, v \le n, u≠vu \ne v)와 tt (0≤t≤2×1050 \le t \le 2 \times 10^5)가 주어진다. 이는 도시 uu와 vv를 잇는 통행료 tt의 도로를 뜻한다. 도로는 양방향이며, 양방향 통행료는 같다. 임의의 두 도시 사이에는 경로가 있고, 두 도시를 잇는 도로는 최대 하나다.

이어지는 qq개의 줄에는 두 정수 aa, bb (1≤a,b≤n1 \le a, b \le n, a≠ba \ne b)가 주어진다. 이는 aa에서 bb로 가는 경로에 관한 질의다.

출력

qq개의 줄을 출력한다. 각 줄은 질의 순서대로 하나의 답이다. 각 줄에는 공백으로 구분된 두 정수 ww와 kk를 출력한다. ww는 통행료가 ww보다 크지 않은 aa에서 bb로 가는 경로가 존재하는 가장 작은 값이고, kk는 통행료가 ww보다 큰 도로를 쓰지 않고 aa에서 도달할 수 있는 도시의 수다.

예제1

  1. 예제 1

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