만드는 중입니다

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

메트로폴리스로 가는 여행

시간 제한4초메모리 제한512 MB

요약
1번 도시에서 n번 도시까지 기차 승차 시간의 합이 최소인 값을 구하고, 그 시간을 갖는 여행 중 승차 구간 길이 제곱합의 최댓값을 구합니다.
난이도

어려움10점 중 8점

유형
최단 경로, 그래프, 동적 계획법
정답자
아직 제출이 없습니다

문제

나라 안을 여행하는 일은 쉽지 않다. 특히 도시 사이에 직통 열차가 없을 때는 더 그렇다. 관광객 무리가 11부터 nn까지 번호가 붙은 nn개의 도시를 잇는 철도망을 이용해 메트로폴리스로 가려고 한다. 무리는 11번 도시에서 출발하고, 메트로폴리스는 nn번 도시이다.

철도에서는 mm개의 열차 노선이 운행 중이다. 각 노선은 열차가 지나는 도시를 순서대로 나열해 정해진다. 노선마다 인접한 두 도시 사이를 가는 데 걸리는 시간이 주어진다. 서로 다른 노선의 열차는 같은 구간을 서로 다른 시간에 지날 수 있다.

메트로폴리스로 가는 길에 무리는 노선 위의 어느 도시에서든 열차에 타고 내릴 수 있다. 첫 도시나 마지막 도시일 필요는 없다. 노선 ii의 열차에서 내려 노선 jj의 열차로 갈아탈 수 있고, 몇 번 더 갈아탄 뒤 다시 노선 ii의 열차에 탈 수도 있다.

여행 방법은 두 기준으로 고른다. 첫째, 열차에서 보내는 총 시간이 최소여야 한다. 둘째, 최소 시간을 갖는 방법 중에서는 두 번의 갈아타기 사이에 끊기지 않고 열차에 타 있던 시간들의 제곱합이 최대인 방법을 고른다. 이 합을 여행의 질이라고 부른다.

열차 밖에서 보내는 시간은 계산하지 않는다. 노선 정보가 주어졌을 때, 열차 시간의 최솟값과 그 시간을 갖는 여행의 질의 최댓값을 구하는 프로그램을 작성하라.

입력

첫 줄에 두 정수 nn과 mm이 주어진다 (2≤n≤1062 \leq n \leq 10^6, 1≤m≤1061 \leq m \leq 10^6). 각각 도시 수와 노선 수이다.

다음 mm개의 줄에 노선이 하나씩 주어진다. 각 줄은 노선 ii의 구간 수 sis_i로 시작한다 (1≤si≤1061 \leq s_i \leq 10^6). 이어서 2si+12s_i + 1개의 정수가 vi,1,ti,1,vi,2,ti,2,…,ti,si,vi,si+1v_{i,1}, t_{i,1}, v_{i,2}, t_{i,2}, \ldots, t_{i,s_i}, v_{i,s_i+1} 순서로 주어진다. 여기서 vi,jv_{i,j}는 노선의 jj번째 도시 번호이고, ti,jt_{i,j}는 jj번째 도시와 j+1j+1번째 도시 사이를 이동하는 데 걸리는 시간이다 (1≤vi,j≤n1 \leq v_{i,j} \leq n, 1≤ti,j≤10001 \leq t_{i,j} \leq 1000).

모든 sis_i의 합은 10610^6을 넘지 않는다. 한 노선 안에서 같은 도시가 두 번 나오지 않는다. 주어진 노선으로 11번 도시에서 nn번 도시까지 갈 수 있다.

출력

두 정수를 출력한다. 첫 번째 정수는 열차에서 보내는 총 시간의 최솟값이고, 두 번째 정수는 그 시간을 갖는 방법 중 여행의 질의 최댓값이다.

힌트

두 번째 입력에서 1번 노선을 타고 1번 도시에서 곧장 가는 방법은 열차 시간이 최소가 되지 않으므로 최적이 아니다. 따라서 무리는 1번 노선으로 1번 도시에서 2번 도시까지 간 뒤, 2번 노선으로 2번 도시에서 3번 도시까지 가고, 다시 1번 노선으로 3번 도시에서 5번 도시까지 간다. 이때 타고 있던 시간의 제곱합은 32+12+52=353^2 + 1^2 + 5^2 = 35이다.

세 번째 입력에서는 2번, 3번, 4번 도시 중 어디에서 1번 노선에서 2번 노선으로 갈아타도 최소 시간이 나온다. 여행의 질이 최대가 되는 경우는 2번 도시에서 갈아탈 때이며, 그 값은 12+92=821^2 + 9^2 = 82이다.

두 번째와 세 번째 입력은 처음 두 부분문제의 제약을 만족하지 않는다. 솔루션은 첫 번째 샘플 입력을 통과해야 그 부분문제에서 채점된다. 샘플 입력은 3번부터 7번 부분문제의 제약을 만족하며, 모든 샘플을 통과해야 그 부분문제의 테스트에서 채점된다.

예제3

  1. 예제 1

    입력
    2 1
    1 1 3 2
    
    예상 출력
    3 9
    
  2. 예제 2

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

    입력
    5 2
    3 1 1 2 2 3 3 4
    3 2 2 3 3 4 4 5
    
    예상 출력
    10 82