만드는 중입니다

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

간선과 약수

시간 제한1초메모리 제한2048 MB

요약
가중치 DAG에서 라운드 i마다 간선 가중치 합이 i+1의 배수인 경로를 골라 가중 평균 점수를 최대화하는 문제입니다.
난이도

어려움10점 중 10점

유형
그래프, 동적 계획법, 정수론
정답자
아직 제출이 없습니다

문제

시간 제한: 1000 ms. 메모리 제한: 2048 MB.

방향 비순환 그래프 G=(V,E)G = (V, E)에서 게임을 합니다. 시작 정점은 s_1∈Vs\_1 \in V입니다. 규칙은 다음과 같습니다.

  • 게임은 1번부터 번호가 매겨진 라운드로 진행됩니다.
  • ii번째 라운드에서 플레이어는 s_is\_i에서 시작하고 간선을 하나 이상 포함하는 경로 p_ip\_i를 고릅니다. 이때 경로에 속한 간선 가중치의 합이 (i+1)(i + 1)의 정확한 배수여야 합니다. 그런 경로가 없으면 플레이어는 실패하고 점수를 얻지 못합니다. 고를 수 있으면 라운드가 성공하여 끝나고, p_ip\_i의 끝점을 s_i+1s\_{i + 1}로 기록합니다.
  • 라운드에 성공한 뒤 플레이어는 게임을 끝내거나 다음 라운드를 계속할 수 있습니다. 게임을 끝내면 고른 ii개의 경로 p_1,…,p_ip\_1, \ldots, p\_i를 이중 경로(doubling paths)라 하고, 점수를 계산합니다.

실패하지 않았다면, 게임을 끝낼 때 고른 이중 경로 p_1,…,p_kp\_1, \ldots, p\_k의 점수는 ∑_i=1ka_i∣p_i∣/k\sum\_{i = 1}^{k} a\_i \left|p\_i\right| / k입니다. 여기서 ∣p_i∣|p\_i|는 경로 p_ip\_i의 간선 수이고, a_ia\_i는 입력으로 주어진 가중치입니다. 그래프가 비순환이므로 고를 수 있는 경로는 최대 (n−1)(n-1)개이며, 입력에는 a_1,…,a_n−1a\_1, \ldots, a\_{n-1}만 주어집니다.

그래프와 시작 정점이 주어졌을 때, 얻을 수 있는 최대 점수를 구하세요.

입력

첫 줄에 정수 nn, mm, s_1s\_1이 주어집니다. 각각 정점 수, 간선 수, 시작 정점 번호입니다 (2≤n≤1002 \le n \le 100; 1≤m≤n(n−1)21 \le m \le \frac{n (n - 1)}{2}; 1≤s_1≤n1 \le s\_1 \le n).

둘째 줄에는 점수 계산에 쓰이는 (n−1)(n-1)개의 정수 a_1,…,a_n−1a\_1, \ldots, a\_{n-1}이 주어집니다 (1≤a_1≤a_2≤…≤a_n−1≤1091 \le a\_1 \le a\_2 \le \ldots \le a\_{n - 1} \le 10^9).

이어지는 mm개의 줄에는 각각 정수 u_iu\_i, v_iv\_i, w_iw\_i가 주어지며, 이는 u_iu\_i에서 v_iv\_i로 가는 가중치 w_iw\_i의 유향 간선입니다 (1≤u_i,v_i≤n1 \le u\_i, v\_i \le n; u_i≠v_iu\_i \ne v\_i; 1≤w_i≤1091 \le w\_i \le 10^9). 그래프는 비순환이고, 방향을 무시하면 연결되어 있으며, 중복 간선은 없습니다.

출력

한 줄에 공백으로 구분된 정수 두 개를 출력합니다.

경로를 하나 이상 고를 수 있으면 최적의 선택 방법이 존재하고, 최적 점수는 서로소인 정수 pp, qq (q>0q > 0)에 대해 p/qp/q로 나타낼 수 있습니다. 이 경우 pp와 qq를 출력합니다. 경로를 하나도 고를 수 없으면 -1~-1을 출력합니다.

힌트

선택된 이중 경로는 p_1=((1,2))p\_1 = ((1, 2))와 p_2=((2,5))p\_2 = ((2, 5))입니다.

예제2

  1. 예제 1

    입력
    5 5 1
    1 11 21 1211
    1 2 4
    1 3 11
    2 5 9
    3 4 12
    4 5 13
    
    예상 출력
    6 1
    
  2. 예제 2

    입력
    9 16 1
    1 10 100 1000 10000 100000 1000000 10000000
    1 2 2
    1 3 3
    2 3 5
    2 5 7
    3 4 11
    3 5 13
    3 6 17
    3 7 19
    4 7 23
    5 6 29
    5 8 31
    6 7 37
    6 8 41
    6 9 43
    7 9 47
    8 9 53
    
    예상 출력
    221 3