만드는 중입니다

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

운전 브이로그

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

요약
도로를 지날 때 시간 T에 들어가면 T+C_i시간이 걸리는 도시에서, 각 건물에서 n까지 정확히 j개의 도로를 지나는 가장 빠른 경로를 구하고 좋아요에서 싫어요를 뺀 값을 계산합니다.
난이도

어려움10점 중 8점

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

문제

메시는 운전 브이로그를 동영상 채널에 올려 유명해지려고 한다. 메시가 사는 도시에는 nn개의 건물과 mm개의 일방통행 도로가 있다. 메시가 촬영을 시작하면 팬들이 몰려들기 때문에, 촬영을 시작한 후 TT시간 뒤에 ii번 도로에 진입하면 그 도로를 지나는 데 T+CiT+C_i시간이 걸린다. 메시는 n2n^2개의 영상을 촬영할 예정이다. (i−1)n+j(i-1)n+j번째 영상은 ii번 건물에서 출발하여 정확히 jj개의 도로를 지나 메시의 집인 nn번 건물에 도착하는 영상이다. (1≤i,j≤n)(1 \le i, j \le n) 하나의 영상에서 같은 도로를 여러 번 지나갈 수도 있으며, nn번 건물에 도착했다고 해서 촬영을 끝낼 필요는 없다. 메시는 빨리 촬영을 끝내고 싶어서 조건을 만족하는 경로 중 가장 빠른 경로를 사용할 것이다. 그러한 경로가 없다면, 운전 브이로그 대신 사과문 영상이 올라간다. 메시가 촬영한 n2n^2개의 영상을 채널에 올리면, 팬들은 각 영상에 좋아요나 싫어요를 누른다. TT시간짜리 운전 브이로그 영상에는 TT를 109+710^9+7로 나눈 나머지만큼의 좋아요가 달린다. 사과문 영상에는 싫어요가 1개 달린다. 메시가 사는 도시의 모습을 보고 메시가 총 몇 개의 좋아요와 싫어요를 받게 될지 계산해보자.

입력

첫 줄에 정수 n,mn, m이 주어진다. 이후 mm개의 줄에 걸쳐 정수 Ai,Bi,CiA_i, B_i, C_i가 주어진다. ii번 도로는 AiA_i번 건물에서 BiB_i번 건물로 가는 도로이다. (1≤i≤m)(1 \le i \le m)

출력

첫째 줄에 메시가 받을 (좋아요의 개수) - (싫어요의 개수)를 출력한다.

제한

1≤n≤30001 \le n \le 3000, 0≤m≤100000 \le m \le 10000, 1≤Ai,Bi≤n1 \le A_i, B_i \le n (1≤i≤m)(1 \le i \le m), 0≤Ci≤1080 \le C_i \le 10^8 (1≤i≤m)(1 \le i \le m)

예제3

  1. 예제 1

    입력
    4 6
    1 2 1
    1 3 0
    2 3 2
    3 1 5
    2 4 2
    3 4 3
    
    예상 출력
    155
    
  2. 예제 2

    입력
    7 6
    1 2 100000000
    2 3 100000000
    3 4 100000000
    4 5 100000000
    5 6 100000000
    6 7 100000000
    
    예상 출력
    1999999887
    
  3. 예제 3

    입력
    1000 0
    
    예상 출력
    -1000000